[GEM-dev] frambuffer and Vertex Texture Fetching

cyrille henry cyrille.henry at la-kitchen.fr
Sun Apr 6 16:20:30 CEST 2008


ok.
probably because rgb32 was not recognise, so your framebuffer still was in int.
with the new gem version rgb32 works, so it's normal that there is a difference.

it's also normal that it's still did not work because of your hardware limitation.
i can't say more.



do you have a nvidia or an ati in your macbookpro?
as the ati X1000 familly are not compatible with this, it worth a try only if you have an nvidia one.


cyrille


Jack a écrit :
> With the last version it's different, the fractal picture disappear and 
> i get only a white square :
> 
> reading startup file: /Users/rybn12/.pdrc
> libdir loader $Revision: 1.8 $
>     written by Hans-Christoph Steiner <hans at at.or.at>
>     compiled on Apr  6 2008 at 04:09:45
>     compiled against Pd version 0.40.3.extended-20080406
> GEM: Graphics Environment for Multimedia
> GEM: ver: 0.91-cvs
> GEM: compiled: Apr  6 2008
> GEM: maintained by IOhannes m zmoelnig
> GEM: Authors :    Mark Danks (original version)
> GEM:        Chris Clepper
> GEM:        James Tittle
> GEM:        IOhannes m zmoelnig
> GEM: with help by Guenter Geiger, Daniel Heckenberg, Cyrille Henry, et al.
> GEM: using AltiVec optimization
> libdir_loader: added cyclone to the global classpath
> libdir_loader: added zexy to the global classpath
> libdir_loader: added creb to the global classpath
> libdir_loader: added cxc to the global classpath
> libdir_loader: added iemlib to the global classpath
> libdir_loader: added list-abs to the global classpath
> libdir_loader: added mapping to the global classpath
> libdir_loader: added markex to the global classpath
> libdir_loader: added maxlib to the global classpath
> libdir_loader: added memento to the global classpath
> libdir_loader: added mjlib to the global classpath
> libdir_loader: added motex to the global classpath
> libdir_loader: added oscx to the global classpath
> libdir_loader: added pddp to the global classpath
> libdir_loader: added pdogg to the global classpath
> libdir_loader: added pixeltango to the global classpath
> libdir_loader: added pmpd to the global classpath
> libdir_loader: added rradical to the global classpath
> libdir_loader: added sigpack to the global classpath
> libdir_loader: added smlib to the global classpath
> libdir_loader: added toxy to the global classpath
> libdir_loader: added unauthorized to the global classpath
> libdir_loader: added pan to the global classpath
> libdir_loader: added freeverb to the global classpath
> libdir_loader: added hcs to the global classpath
> libdir_loader: added jmmmp to the global classpath
> libdir_loader: added ext13 to the global classpath
> libdir_loader: added hardware to the global classpath
> libdir_loader: added deprecated to the global classpath
> libdir_loader: added flatspace to the global classpath
> [gemframebuffer]: default format is GL_RGB, 6407
> [gemframebuffer]: default type is BYTE, 5121
> [gemframebuffer]: type is BYTE, 5121
> [gemframebuffer]: format is GL_RGB_FLOAT32_ATI, 6407
> [pix_image]: GEM: loaded image: 
> /Users/rybn12/Desktop/Mickael/deforme_vertex_texture 2/test.jpg
> [pix_texture]: using mode 0: TEXTURE_2D
> GemwinMac: width - 500 height - 500
> GemWindow Activate err = 0
> GLEW version 1.5.0
> GEM: Start rendering
> error: [glsl_vertex]: need to load a shader
> ... you might be able to track this down from the Find menu.
> error: [glsl_fragment]: need to load a shader
> [gemframebuffer]: using rectmode 0:GL_TEXTURE_2D
> [gemframebuffer]: using type: BYTE
> [gemframebuffer]: using texunit: 0
> linking: link 1.4013e-45 0
> linking: link 1.4013e-45 2.8026e-45
> [glsl_program]: Info_log:
> [glsl_program]: ERROR: Implementation limit of 0 active vertex shader 
> samplers (e.g., maximum number of supported image units) exceeded, 
> vertex shader uses 1 samplers
> 
> [glsl_program]: ARB Link failed!
> [glsl_program]: vertex shader running in hardware
> [glsl_program]: fragment shader running in hardware
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> GL: invalid framebuffer operation
> 
> 
> Le 6 avr. 08 à 14:15, Jack a écrit :
> 
>> Hello Cyrille,
>> Here a problem on PowerBook G4, MacOSX.4.11, GeForce FX Go5200 :
>>
>> glsl_program]: Info_log:
>> [glsl_program]: ERROR: Implementation limit of 0 active vertex shader
>> samplers (e.g., maximum number of supported image units) exceeded,
>> vertex shader uses 1 samplers
>>
>> [glsl_program]: ARB Link failed!
>> [glsl_program]: vertex shader running in hardware
>> [glsl_program]: fragment shader running in hardware
>>
>> I will try on MacBookPro later.
>> ++
>>
>> Jack
>>
>>
>> Le 6 avr. 08 à 01:35, cyrille henry a écrit :
>>
>>> hello,
>>>
>>> http://techreport.com/discussions.x/8872
>>>
>>> look like it's not possible with your hardware to get this patch
>>> working at full speed.
>>>
>>> could anyone else test this patch please?
>>>
>>> cyrille
>>>
>>> marius schebella a écrit :
>>>> cyrille,
>>>> I am using a variation of your patch to get my vertex morphing
>>>> working.
>>>> is just need to figure out a way to save 3d objects as rgb images...
>>>> marius.
>>>>
>>>> cyrille henry wrote:
>>>>> hello,
>>>>>
>>>>> the good new is that things still can work as it was.
>>>>> just replace rgb32 with rgb.
>>>>> the old version does not use the same primitive, so i's possible
>>>>> there
>>>>> is more vertex now. this can explain the 70->130% diference.
>>>>>
>>>>> we can investigate, i am not sure your card is able to use this
>>>>> acceleration.
>>>>>
>>>>> with a nvidia 7700, this patch use only few %, so the change is
>>>>> really
>>>>> important!
>>>>>
>>>>> cyrille
>>>>>
>>>>> marius schebella a écrit :
>>>>>> hi,
>>>>>> when I click on type byte, format rgb32 then I get this printout
>>>>>> [gemframebuffer]: type is BYTE, 5121
>>>>>> [gemframebuffer]: format is GL_RGB_FLOAT32_ATI, 32992
>>>>>> but it starts eating up all my cpu.
>>>>>> with the old version I cud run dim 512 512 at ~70%
>>>>>> with the new version I am +130%
>>>>>> this is on os x 10.5.2 with ati X1600.
>>>>>> marius.
>>>>>>
>>>>>> cyrille henry wrote:
>>>>>>> hello,
>>>>>>> i'm currently investigating the use of framebuffer to create a
>>>>>>> texture in order to use it as a vertex displacement.
>>>>>>> this has already been discuss in this list, but new stuff in
>>>>>>> framebuffer makes me try again.
>>>>>>>
>>>>>>> i'm specially motived because it's the last things that prevent me
>>>>>>> trying physical modeling in glsl.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> having a look at framebuffer, i noticed strange things :
>>>>>>> -changing type or format does not init the framebuffer, you
>>>>>>> have to
>>>>>>> change dim, or rectangle (mode) in order to init it.
>>>>>>> (i don't know why)
>>>>>>>
>>>>>>> -in void gemframebuffer :: typeMess(char* type), should :
>>>>>>>
>>>>>>>     else if (!strcmp(type, "FLOAT")){
>>>>>>>       post("type is GL_FLOAT, %d",m_type);
>>>>>>>       m_type = GL_FLOAT;
>>>>>>>       return;
>>>>>>>
>>>>>>> be replaced by :     else if (!strcmp(type, "FLOAT")){
>>>>>>>       m_type = GL_FLOAT;
>>>>>>>       post("type is GL_FLOAT, %d",m_type);
>>>>>>>       return;
>>>>>>> ???
>>>>>>> (it's also the same in formatMess)
>>>>>>>
>>>>>>> anyway. here are the good news :
>>>>>>> i add (and commit) a RGB32 format corresponding to
>>>>>>> m_internalformat = GL_RGB_FLOAT32_ATI;
>>>>>>> #ifdef __APPLE__
>>>>>>>        m_format = GL_BGR;
>>>>>>> #else        m_format = GL_RGB;
>>>>>>> #endif
>>>>>>> (i  don't know if apple definition is ok).
>>>>>>>
>>>>>>> but the internal format GL_RGB_FLOAT32_ATI was mandatory in
>>>>>>> order to
>>>>>>> have an efficient implementation of vertex texture fetching.
>>>>>>>
>>>>>>> so here is an example. it still need to be cleaned, but i'd
>>>>>>> like to
>>>>>>> know if it work on other computer.
>>>>>>> (here, it's about 50 time faster than previous example i send to
>>>>>>> this list)
>>>>>>>
>>>>>>> please update/compile and test!
>>>>>>>
>>>>>>> cyrille
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------
>>>>>>> ------
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>
>>> _______________________________________________
>>> 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
> 
> 
> 




More information about the GEM-dev mailing list