> > I'm fuzzy on the shader stuff. For all my 3d dev, I just jumped into > using osg, and whatever I've built has been derived from > tutorials/examples given online. With the level of abstraction osg > provides, I haven't had to make any OpenGL calls directly, so when you > say "using the shaders and avoiding all built in state"... I don't > understand what "avoiding all built in state" is in an osg context. > Does it mean I shouldn't be using osg::StateSet? >
Pretty much. The state info is used by the OpenGL 1.x Fixed Function Pipeline (FFP) to produce different visual appearances (textures, lighting, etc). GLES 1 has FFP (it's very similar to OpenGL 1.x) but has no GLSL shader features. GLES 2.0 has removed all FFP functionality, and ONLY has GLSL shaders.. The GLES 2 ShaderGen I referred to previously will write a replacement GLSL shader for you, on the fly, to emulate SOME of this FFP capacity. However, if you're targeting GLES 2, you're usually doing so with the intent of using GLSL (otherwise you'd just use GLES 1). So, you'll want to learn to do things with shaders eventually. > I'm using > http://www.openscenegraph.org/projects/osg/wiki/Community/OpenGL-ES > to set the environment up... and since I'd like to develop for OpenGL > ES 2, I'll be using "Cmake settings for Emulating OpenGL ES 2.0 when > you only have standard OpenGL available" to build osg to create my > app. When it comes time to actually deploy, I'm guessing I'd rebuild > osg against "Cmake settings for OpenGL ES 2.0"? > Yes. I assume you're intending to deploy on a non-desktop platform, like Android, iOS or some embedded device? There are complications when you go to omit the GLX or WGL windowing system interface that OSG currently relies on and some platforms don't provide. GLES provides "EGL" which is a similar design, but currently OSG is not equipped to use EGL solely without GLX or WGL. > I also downloaded an emulator/sdk for OpenGL ES 2 from PowerVR, and > ran a bunch of default examples they provided. Does that factor in at > all? They provide libEGL.so and libGLESv2.so libs for linking as well I have worked with this emulator. It works fine on Windows. I had trouble getting it to work on Linux. What exactly is involved in using ShaderGen? From the osgshadergen > example, it looks like all that's done it is attaching it as a node > visitor to your scene graph. Does it just automagically go through > your scene and convert fixed function pipeline stuff to shader > pipeline stuff? > Yes. > > Which OS? OSG really only has ES2/EGL windowing interfaces for Xwindows > -- Win32 is not implemented. > I'm on Linux > Well, if you got the PowerVR emulator working, you're ahead of me. -- Chris 'Xenon' Hanson, omo sanza lettere. [email protected] 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 Digital Imaging • GIS • GPS • Telemetry • Cryptography • Digital Audio • LIDAR • Kinect • Embedded • Mobile • iPhone/iPad/iOS • Android
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

