Re: [osg-users] pass mat4 as attribute for glsl

2018-11-26 Thread Garfield Pig
Hi Ye Cong:
 For instance rendering,You can see osgEarth::Drawinstance,they use uniform 
texture buffer instead of vertex attribute.
 If you insist on using VertexAttribute,I guess you may inherit the 
osg::Geometry,and rewrite DrawImplement method,create a GLExtension to do this.
 just like this:
   contextID = state.getContextID();
   osg::ref_ptr ext = osg::GLExtensions::Get(contextID, 
true);
   ext->glVertexAttribPointer(blabla);
   ext->glVertexAttribPointer(blabla);


Finally,you can use Matrix Array uniform ,but it's a stupid way I think.






-- Original --
From: "Cong Ye"; 
Date: 2018??11??27??(??) 12:58
To: "osg-users"; 
Subject: [osg-users] pass mat4 as attribute for glsl



Hi,

I am currently working on a project requires gpu instancing. I worked out a way 
to do the instancing with vec4 as position attribute in. However, in the real 
case, instances need to be scaled/rotated/translated. Now, I want to send the 
transform matrix as an attribute to the shader. Normally, general opengl uses 
glVertexAttribPointer with offset and glVertexAttribDivisor to sperate mat4 to 
vec4 then pass to the shader. However, I don't find the replacement function to 
do the offset data structure pass. Could someone enlighten me about it, please? 

thanks very much!

... 

Thank you!

Cheers,
Cong

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=75249#75249





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] pass mat4 as attribute for glsl

2018-11-26 Thread Cong Ye
I found the gpuculling example. It may solve my problem..

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=75250#75250





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] pass mat4 as attribute for glsl

2018-11-26 Thread Cong Ye
Hi,

I am currently working on a project requires gpu instancing. I worked out a way 
to do the instancing with vec4 as position attribute in. However, in the real 
case, instances need to be scaled/rotated/translated. Now, I want to send the 
transform matrix as an attribute to the shader. Normally, general opengl uses 
glVertexAttribPointer with offset and glVertexAttribDivisor to sperate mat4 to 
vec4 then pass to the shader. However, I don't find the replacement function to 
do the offset data structure pass. Could someone enlighten me about it, please? 

thanks very much!

... 

Thank you!

Cheers,
Cong

--
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=75249#75249





___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org