Hi, On Mon, 2013-09-23 at 18:44 -0500, Carsten Neumann wrote: > Hello Christoph, > > On 09/23/2013 07:37 AM, "Christoph Fünfzig" wrote: > > I have a crash with rendering a scene loaded as Collada (OpenSG 2.0, Win > > x64). > > In OSGGeoImmediatePumpGroup.cpp: > > void pumpMultiAttrib(PumpClassicInfo &info, UInt16 slot, GLenum > > attrib, UInt32 vertIdx) > > for slot==9 all indices "info.attribIndex > > [slot]->getValue<UInt32>(vertIdx)" are invalid. > > > > I used no graph-ops at all during loading: > > OSG::SceneFileHandler::the()->setDefaultGraphOp(NULL); > > Please see the example scene > > https://www.dropbox.com/s/ytyzymw07rmewqa/_entity_balken01.dae > > to reproduce the problem! > > thanks, I'm looking into it. Looks like the collada loader produces an > invalid geometry (default graph ops crash as well - specifically the > striper). More precisely the index for TexCoords1 is broken, it has a > bunch of leading UInt32(-1) values, before (what looks to be) correct > data starts. Haven't found the source of it yet.
the source of the -1 is in the dae file. Problem is the dom code returns these arrays as domListOfUInt. One thing one has to do is check if an index contains -1 (readTriangles does this) and than discard it. But there is a bug, the comparison uses the wrong type UInt32, it should be domUint as otherwise the comparison fails on 64bit system. If you haven't got one I can quickly generate the patch. kind regards gerrit ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk _______________________________________________ Opensg-users mailing list Opensg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-users