[GEM-dev] gem port to opengl-es - initial developments..

Hans-Christoph Steiner hans at at.or.at
Sat Feb 4 23:22:43 CET 2012


Wow, nice, well done!  Each Hello World still seems to be as fun as the first :)

.hc

On Feb 3, 2012, at 3:32 AM, dmotd wrote:

> i have [random] colour cycling the gemwin.. 
> 
> [color $1 $2 $3(--->[gemwin] 
> 
> so we have a render context albeit a pretty rudimentary one.
> 
> i think i could watch it for hours ;)
> 
> i am however getting a repeated "invalid enumeration" error.. not sure
> where that's from but it doesn't seem to effect operation, then again
> there's no objects in the rendering chain.. it must be somewhere in the
> rendering context though or else it would be cleared.
> 
> i guess i better add some primitives then... 
> 
> 
> On Thu, 2012-02-02 at 03:30 +1000, dmotd wrote:
>> hi gem folks,
>> 
>> i've had a bit of free time to begin porting gem to opengl-es. 
>> 
>> i'm building and testing with a nokia-n900/RX51 tablet - a debian based
>> arm arch which supports both opengl-es 1.1 common and opengl-es 2.0.
>> 
>> initial hacking is concentrated on opengl-es 1.1, which is generally
>> compatible to the opengl 1.0 spec. opengl-es 2.0 uses shaders to replace
>> fixed functions so there is a lot more work involved in replacing core
>> gem functions.
>> 
>> i'm using the egl spec for windowing/surface/buffer support, it is cross
>> platform (although afaik apple uses its own modification 'aegl'). it
>> provides basic functionality for reading and writing gl functions to
>> buffer (along the lines of glx), and like glx still relies on operating
>> system apis to supply other interfaces (keyboard / mouse etc).
>> 
>> so far: 
>> --
>> cloned gem git, checkout 0.93 tag, created es branch.
>> 
>> using glues for basic (incomplete) glu functionality
>> 
>> using libglutes for basic (incomplete) glut functionality 
>> 
>> added additional autoconf tricks to find and test libraries
>> 
>> merged the latest git ES branch of GLEW which has experimental support
>> for GLES/EGL 
>> 
>> added egl drop in for GemWinCreate
>> 
>> successful build against pd-0.43 using enable-Controls and others
>> disabled.
>> --
>> 
>> reports: 
>> --
>> libxxf86vm doesn't seem to work properly on the tablet, so for the time
>> being the window modelines are hard coded. there are some other window
>> manager hints that are specific to the device too.
>> 
>> gemwin successfully creates the egl window buffer and rendering context.
>> 
>> gem crashes when glClearDepthf and glFrustumf are called (both are
>> floating-point variations to the base GL functions and part of the GL-ES
>> spec). furthermore looking at the output of 'nm -C Gem.pd_linux' shows
>> that these functions are not present in the compiled lib, what does this
>> mean?
>> 
>> commenting these functions out allows the gemwin to complete init and
>> create successfully. a call to render causes a crash somewhere in the
>> rendering chain (GemMan::render), but i have had little success
>> debugging this issue.
>> --
>> 
>> notes:
>> --
>> i'm developing with an eye on the raspberry pi project which should
>> bring affordable opengl-es architecture to a small form factor, perfect
>> for installations of (audio)visual artwork - but there's no reason why
>> any recent (jailbroken) mobile/tablet technologies wouldn't be
>> applicable for creative repurposing. 
>> 
>> before anyone get's excited, the apple 'app store' is still afaik not
>> compatible with gpl code, so it is unlikely there will be a 'rjdj' style
>> app using gem, or likewise any gem based vj app, i don't think the same
>> can be said for google's android platform, but i'm not a user or
>> developer of said platform (or the fruit for that matter).
>> 
>> i am coding on a linux-amd64 pc, cross-compiling in scratchbox and
>> testing on the device, using git/scp as a go-between.. this is a bit
>> cumbersome/inefficient - can anyone suggest a virtual machine image
>> (linux based) that provides a graphical gl-es environment and a minimal
>> editor/ide to build and test with? 
>> --
>> 
>> i'll keep everyone up to speed as i make developments, and if anyone can
>> replicate my dev environment and wants to contribute i'll happily push
>> to a public git sooner rather than later.
>> 
>> cheers,
>> dmotd
>> 
>> 
>> _______________________________________________
>> GEM-dev mailing list
>> GEM-dev at iem.at
>> http://lists.puredata.info/listinfo/gem-dev
> 
> 
> 
> _______________________________________________
> GEM-dev mailing list
> GEM-dev at iem.at
> http://lists.puredata.info/listinfo/gem-dev



----------------------------------------------------------------------------

Man has survived hitherto because he was too ignorant to know how to realize his wishes.  Now that he can realize them, he must either change them, or perish.    -William Carlos Williams





More information about the GEM-dev mailing list