Hi, > On 30 Jan, 2014, at 16:28, Johannes <jbru...@datasolid.de> wrote: > > Hi Gerrit, > > are you listening?
yes, only it's new year over here, so I'm at home. Therefore: 祝大家新年快乐 ;) > I would like to try/use the new instancing geometry. After regeneration > of the documentation I could not find anything about the files residing > in folder Source/System/NodeCores/Drawables/Geometry/Instancing. > A little search showed that flag OSG_ENABLE_NEW_GEOHANDLER is necessary > for these files to be part of the build. However, I can't overlook the > implications if turning that flag to true. if there are any negative implications these are bugs. There is still one with the osb loader as one combination of vbo/vao crashes, at least on linux. But I plan to fix this one very soon. This one is actually the reason why I haven't removed the old drawing/gl handling code from the geomety. > After rereading the options > again I realized that I likewise have problems to explain some of the > other options properly. > > Could you shed some light on it? I'll try, but I traveled home without my laptop, so some I might have to defer until I'm back on Tuesday. Typing a lot on an IPad is not much fun. > What are the current limitation of the provided instancing > infrastructure with respect to ARB_draw_instanced, ARB_instanced_arrays, > ARB_draw_indirect, ARB_base_instance and ARB_transform_feedback_instanced? currently I only implemented instancing based on glDrawElementsInstanced and glDrawArraysInstanced, but the base vertex, base instance variants could be implemeted the same way. Indirect drawing hasn't made its way into OpenSG. Into the tranform feedback variant I haven't looked yet, but that might take some time before I can squeeze it in. The instancing information itself is not part of the geometr core, but is stored in a different core (geoinstancer). That one references a base geometry for drawing. > Do you have any example how to use the new instancing properly? Only with CSM (Examples/CSM/Instancing). What I haven't put in yet is reading the instance parameter from a texture, this is work in progress. > Similar, I'm interested to know about VAO (ARB_vertex_array_object) and > VBO and their connection to display lists in the context of OpenSG. VAO/VBO are a platform dependent nightmare. In general the Vao part can not be inside a diaplay list, so you are left with only the draw calls inside the list. I would tend not to use display list with vao's. For the csm I build a test for all geometry index and vbo/vao/display list variants (Examples/CSM/Models/IndexVariants), but this one runs of a script (which I haven't ported to windows), but it is a place to check if in doubt. Note some combination won't render. Currently I haven't tried to put in code that falls back to something that actually renders an invalid combination. Inside the sh scripts is a table with expectd results (no pos, no fallback means nothing is rendered). The same set exists in the instancing example dir. > Additionally, I would like to play with the complex scene manager. Are > there any options which must be properly set in order to run the examples? the easiest is just to pass the directory of the example (one with a params.csm file) as the only parameter. The param.csm is actually just a shortcut to store the appCSM parameters in a file (I'm just lazy) > I hope that my questions are not to blunt, but I would like to dive more > into modern OpenGL by means of OpenSG. no problem, ask away, usually you learn something while explaining ;) > Best, > Johannes > > >>> On 29.01.2014 19:40, Carsten Neumann wrote: >>> On 01/29/2014 10:21 AM, Johannes Brunen wrote: >>> I would like to ask for some background information about the following >>> OpenSG build options: >>> >>> OSG_ENABLE_OGL_VERTEXATTRIB_FUNCS that one I have to check after returning home. IIRC somewhere some function names were changed between OpenGL versions. >>> OSG_ENABLE_NEW_SHADER I though we removed that one, this one was there to enable the new shader infrastructure and should be on. If we haven't removed it we should. >>> OSG_NEW_GEOHANDLER I rewrote parts of the old geo opengl handler to support vaos and now instancing. It it only still there because of a bug in the osb loader, once I fix this I will remove the old parts. >>> OSG_ENABLE_OGL3_PROTOS >>> OSG_ENABLE_OGL4_PROTOS this one I have to check in detail, but IIRC it is for platforms (in general non dll platforms) that allow you to link against newer OpenGL functions so one does not have to got through the extension handling mechanism of the window. >>> OSG_ENABLE_CSM_WIN7_FEATURES Allow the CSM Window to recieve multi-touch events on Windows. >>> OSG_ENABLE_WRITE_PYTHON_TO_SOURCE Writes the generated python bindings into the source tree and not to some specified external location. Somewhere should be a module path which interacts with this. I will check the details once I'm back home. >>> OSG_ENABLE_AUTOINIT_THREADS This auto initialises the threads local storage used by OpenSG for threads not directly created by OpenSG and where using an ExternalThreadObject is not easily possible. IIRC somebody needed it to solve problem with java and the automatic garbage collection. If you control the thread creation and can use an ExternalThread Object for non OpenSG threads this is not needed. >>> OSG_ENABLE_PAR_PARTITION_DRAWING This enables the possibility that for multi stage algorithms one stage is drawn while the next is still culled. So for example when generating a cubemap, side n will be drawn while side n+1 is already traversed for culling. Note this just enables the code, but it still has to be enabled after creating the windows (Window::setPartitionDrawMode) This is one of those old development options which should be removed. >>> I'm most interested in the first block but would be interested to hear >>> also about the second block. >>> >>> Is it safe to enable OSG_ENABLE_NEW_GEOHANDLER and >>> OSG_ENABLE_OGL_VERTEXATTRIB_FUNCS? What are the limitations and >>> problems? see above, in general if something does not work anymore when enabling those it is a bug and should be fixed. They probably will removed rather sooner than later. >>> What is about the OSG_ENABLE_MULTISHADER_VARCHUNK option. Shouldn't it >>> be enabled on default? that one I have to check. You are right that some should be on by default or removed at all, as they come from development times and aren't needed anymore. I just haven't found time to go through the options ans throw these out. Hope it helps a little. kind regard gerrit ------------------------------------------------------------------------------ WatchGuard Dimension instantly turns raw network data into actionable security intelligence. It gives you real-time visual feedback on key security issues and trends. Skip the complicated setup - simply import a virtual appliance and go from zero to informed in seconds. http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users