Write your own Einstein@home screensaver

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6588
Credit: 317538551
RAC: 376235

One other aspect that

One other aspect that deserves underlining with the forward compatible contexts ( the 'new' shader paradigm if you like ) :

The vertex and fragment shaders are presented to the OpenGL state machine at runtime to be validated and then combined to run an instance of the pipeline. In the client code these shaders are represented as character strings to be loaded into an OpenGL shader object. Hence the construction of said string may be programmatic ie. doesn't have to be constant at compile time wrt client code. This implies that deciding the nature of all GLSL constructs may be deferred until runtime ie. prior to the shader being compiled by the state machine.

I mention this because :

Quote:
.... possibly some prescription of base representation eg. float, double etc.


is subject to exactly that.

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Oliver Behnke
Oliver Behnke
Moderator
Administrator
Joined: 4 Sep 07
Posts: 984
Credit: 25171438
RAC: 34

RE: I'm sure you're

Message 78332 in response to message 78330

Quote:

I'm sure you're familiar with all of that.

Frankly speaking: muhaha! No, not at all. The last time I touched OpenGL was 3.5 years ago for the 3D pulsar simulation, let alone GLSL. There're so many other things on my plate that I just don't find the time for the (visually) beautiful stuff.

Thus I'll continue to ride along as your pillion to see what lies ahead ;-)

Oliver

Einstein@Home Project

Stranger7777
Stranger7777
Joined: 17 Mar 05
Posts: 436
Credit: 429861489
RAC: 78843

I'm going to like this work

I'm going to like this work log. Go ahead, Mike! I'm still ready to test your screensaver as soon as possible :)

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6588
Credit: 317538551
RAC: 376235

@Oliver : LOL ! Yes it is

@Oliver : LOL ! Yes it is indeed an area where knowledge is very perishable. In fact you could consider that the theme of this whole exercise ie. the rapid morphing of the OpenGL machine in the last five years, say. My son informed me two days ago that the Khronos Group has only recently announced a whole new line of thinking for OpenGL 5+, the specifications of which may be completed in about five years. I'm just going to pretend he never told me that ..... :-):-):-)

@Stranger : Thanks ! I'm currently working on a gnarly bit : regularising an interface for transferring uniform variable values. Uniforms are a type of operand which persists across the whole pipeline, generally used for transform matrices that apply to very many vertices eg. a frame's worth of rendering from a given spatial viewpoint.

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Phil
Phil
Joined: 8 Jun 14
Posts: 580
Credit: 228508748
RAC: 1338

RE: @Oliver : LOL ! Yes it

Message 78335 in response to message 78334

Quote:

@Oliver : LOL ! Yes it is indeed an area where knowledge is very perishable. In fact you could consider that the theme of this whole exercise ie. the rapid morphing of the OpenGL machine in the last five years, say. My son informed me two days ago that the Khronos Group has only recently announced a whole new line of thinking for OpenGL 5+, the specifications of which may be completed in about five years. I'm just going to pretend he never told me that ..... :-):-):-)

@Stranger : Thanks ! I'm currently working on a gnarly bit : regularising an interface for transferring uniform variable values. Uniforms are a type of operand which persists across the whole pipeline, generally used for transform matrices that apply to very many vertices eg. a frame's worth of rendering from a given spatial viewpoint.

Cheers, Mike.

@Mike - I guess I'm failing to see the difficulty here. I'm no programmer but it seems to me the solution is very simple. Simply add some lines of code in the program to input a daily regimen of Metamucil and the output is now regular and uniform, and the transformation now takes much less energy.

Simple, huh?

Phil

I thought I was wrong once, but I was mistaken.

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6588
Credit: 317538551
RAC: 376235

LOL. We'll call it the

LOL. We'll call it the purgative programming paradigm, 3P for short ... or even better : Phil's 3P's. You're not getting my name on that ! :-)

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6588
Credit: 317538551
RAC: 376235

Alright eager testers : this

Alright eager testers : this should work on a linux 32bit machine :

The Rotating Guy

( YOU WILL HAVE TO MANUALLY SET THE EXECUTABLE BIT ON FILE PERMISSIONS after download )

Let me know what happens, preferably a rotating triangle with pretty colors ....

Cheers, Mike.

( edit ) There is a file created during program execution, in the same directory as the executable, called 'eahss_stderr.txt' which contains error messages and other informative output of interest.

The other one called 'stderrgfx.txt' ( same directory ) is emitted by the BOINC library routines embedded in the executable.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Stranger7777
Stranger7777
Joined: 17 Mar 05
Posts: 436
Credit: 429861489
RAC: 78843

RE: Alright eager testers :

Message 78338 in response to message 78337

Quote:
Alright eager testers : this should work on a linux 32bit machine


I'm almost on Windows XP and 7, but can test on even Win 98.

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6588
Credit: 317538551
RAC: 376235

Fair point. Next task : get

Fair point. Next task : get the Windows builds on the go.

Cheers, Mike.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Mike Hewson
Mike Hewson
Moderator
Joined: 1 Dec 05
Posts: 6588
Credit: 317538551
RAC: 376235

Now here's a thing. Compared

Now here's a thing. Compared with the last time that I fiddled with the cross-compile toolchain there's has been a naming change, and else of material interest. For Fedora [ 17+ and since ~ 03/12 ] at least, what I want is the mingw-w64 product. This will do either 32 or 64 bit Windows builds, noting that :

Quote:
... the name of the gcc command for the Win32 target has been changed from 'i686-pc-mingw32' to 'i686-w64-mingw32-gcc' and that all files which used to be in /usr/i686-pc-mingw32/ have now been moved to /usr/i686-w64-mingw32/ ...


With my Fedora 21 I go via yum to pull from the official repo, the package I obtain yields gcc v4.8.1 and will do i686 and/or x86_64. It has CRT 3.1.0 and C11/C++11 threading. Here are outlined some various/other choices of toolchain.

Cheers, Mike.

( edit ) For those not familiar, gcc stands for 'gnu compiler collection' and is more or less the defacto standard for *nix machines. It includes much more than merely a compiler, hence the 'toolchain' moniker. It is also much more than C/C++ eg. Ada, Fortran, Objective-C, Objective-C++. Cross compilation means producing executable code to be run on a given machine ( usually called the 'target' ) quite different from the one you are building upon. In my case I have a ( Fedora ) Linux machine making code for Windows.

[ignore what follows]
It is only mildly confusing :-) :-) ...... but you can have say Win-Build operating on a Windows machine via Cygwin for instance ( a sort of a GNU under Windows virtualisation ) that yields Windows executables. Or Linux executables for that matter. Why, you ask ? Well you may want something other than Windows executables built using a pure Windows toolchain .... long story there ... :-)

.... it is even possible to produce a product ( eg. a compiler ) for a different machine, which operates to cross compile. I don't know why I would but you could use a Linux machine to build a compiler than runs on a Windows machine, that compiler in turn builds executables for a third machine type !!! :-)
[/ignore what follows]

( edit ) To signal that I want a win32 build I could use the gcc compiler switch m32 say. If you are curious, psychotic, or merely an insomniac, then here is the gcc option summary.

I have made this letter longer than usual because I lack the time to make it shorter ...

... and my other CPU is a Ryzen 5950X :-) Blaise Pascal

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.