[Fluxus] Master crashes on running of (build-cube)
gabor papp
gabor.lists at mndl.hu
Sun Apr 26 23:37:58 PDT 2009
> In trying out your code, I found that just typing the following into
> the REPL was enough to cause the crash:
> (define p (build-sphere 10 10))
> This and others would cause a similar crash:
> (define p (draw-cube))
yes, because they both create a polyprimitive, which gets rendered and
crash fluxus.
> libfluxus/src/PolyPrimitive.cpp:176, seems to be the common
> denominator in all the crashes, though depending on the command the
> stack bellow it might be slightly different.
strange. the program should not run PolyPrimitive.cpp:176 if you run the
the last script dave sent. it should run line 175 instead of 176.
(clear)
(define p (build-sphere 10 10))
(with-primitive p
(poly-convert-to-indexed))
> I was wondering if the fact that I get this output while configuring
> the build might make a difference.
> Checking for C function dInitODE2()... no
this is not a problem. it just tries to detect an ode function which
only exists in ode 0.10 and above.
could you try disabling multitexturing from code and recompile?
put m_MultitexturingEnabled=false; in the last line of the
TexturePainter::TexturePainter() function in the file
libfluxus/src/TexturePainter.cpp.
maybe we should have a command line switch to disable multitexturing and
glsl as we removed the compile switches.
i checked the client states on my computer, but they same fine. maybe it
would be worth to check this on yours also. i put this before line 174
in PolyPrimitive.cpp right before the location of the crash.
GLboolean b;
glGetBooleanv(GL_VERTEX_ARRAY, &b);
cerr << "vertex array: " << (int)b << endl;
glGetBooleanv(GL_COLOR_ARRAY, &b);
cerr << "colour array: " << (int)b << endl;
glGetBooleanv(GL_NORMAL_ARRAY, &b);
cerr << "normal array: " << (int)b << endl;
glGetBooleanv(GL_TEXTURE_COORD_ARRAY, &b);
cerr << "texture coord array: " << (int)b << endl;
cerr << "vert: " << m_VertData->size() << endl;
cerr << "col: " << m_ColData->size() << endl;
cerr << "text: " << m_TexData->size() << endl;
cerr << "norm: " << m_NormData->size() << endl;
these calls check which arrays are enabled for glDrawArrays, then print
their size. when a (build-cube) is run, all arrays should be enabled
except the colour one, and all sizes should be 24.
best,
gabor
More information about the Fluxus
mailing list