How to properly transfer texture coordinates in geometric shaders in Shader #130 version?

24 views
Skip to first unread message

mirr...@gmail.com

unread,
Dec 9, 2020, 9:03:47 PM12/9/20
to OpenSceneGraph Users
env is win10 osg3.6.4 GTX1660
QQ图片20201210095944.jpg

osg::ref_ptr<osg::Program> createProgram()
{
    osg::Program *program = new osg::Program();
    program->addShader(new osg::Shader(osg::Shader::VERTEX,vertSource));
    program->addShader(new osg::Shader(osg::Shader::GEOMETRY,geomSource));
    program->addShader(new osg::Shader(osg::Shader::FRAGMENT,fragSource));
    program->setParameter(GL_GEOMETRY_VERTICES_OUT_EXT, 3);
    program->setParameter(GL_GEOMETRY_INPUT_TYPE_EXT, GL_TRIANGLES);
    program->setParameter(GL_GEOMETRY_OUTPUT_TYPE_EXT,  GL_TRIANGLES  );
    return program;
}

Glenn Waldron

unread,
Dec 10, 2020, 10:13:21 AM12/10/20
to OpenSceneGraph Users
What error are you getting?
I do see an undefined "samplerY" in there.

mirr...@gmail.com

unread,
Dec 13, 2020, 1:08:22 AM12/13/20
to OpenSceneGraph Users
sorry, the screenshot is wrong. It should be  samplerU.
I'm basically not sure how to get texture coordinates into  Shader::FRAGMENT  in Geometric shaders.


Trajce Nikolov NICK

unread,
Dec 13, 2020, 6:19:28 AM12/13/20
to osg-...@googlegroups.com
Hi,

have a look here MuseOpenIG/Plugin-GPUVegetation at master · CCSI-CSSI/MuseOpenIG · GitHub ... This is code for generating forests with geometry shaders. It might give you better clue

--
You received this message because you are subscribed to the Google Groups "OpenSceneGraph Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osg-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/osg-users/89abc9a3-66bf-4248-8e3d-3dfd23235622n%40googlegroups.com.


--
trajce nikolov nick

Chris Hanson

unread,
Dec 14, 2020, 11:23:27 AM12/14/20
to OpenSceneGraph Users
I just wanted to add that it is a popular opinion among the industry that Geometry Shaders were ill-conceived architecturally and suffer unsolvable performance-blocking issues. There are alternatives of various forms which have their own complexities, but just in case you run into perf problems with GS, you should be aware of the situation. Here's a discussion (related to Vulkan, but architecturally the same situation) that a lot of people seem to cite:




--
Chris 'Xenon' Hanson, omo sanza lettere. Xe...@AlphaPixel.com http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 • GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
Legal/IP • Forensics • Imaging  UAVs • GIS • GPS • osgEarth • Terrain • Telemetry • Cryptography • LIDAR • Embedded • Mobile • iPhone/iPad/iOS • Android
@alphapixel facebook.com/alphapixel (775) 623-PIXL [7495]
Reply all
Reply to author
Forward
0 new messages