[Fluxus] Master crashes on running of (build-cube)

Stephen Halter halter73 at gmail.com
Mon Apr 27 04:42:10 PDT 2009


Thanks so much papp,

I put "m_MultitexturingEnabled = false;" after the if statement in the
TexturePainter constructor and I seem to no longer have problems
rendering polyprimitives!

Out of curiosity, what is the multitexturing do? Will this prevent me
from using any functions etc... On a plus note, I was able to try the
GLSL example and that now renders fine.

On a side note, at one point I did run this code:

(clear)
(define p (build-sphere 10 10))

(with-primitive p
       (poly-convert-to-indexed))

in the editor (ctrl-1) instead of the REPL (ctrl-0), and it may have
crashed at line 175 instead of 176. However, when I tried the define
statement in the REPL, it crashed immediately at line 175. If you
want, I can re-enable multitextureing and test it again in the editor
to give you a definitive answer. Feel free to ask, if you think it
might be useful for me to do.

Lastly, I haven't checked the client states on my computer by
inserting the code you provided before line 174 in PolyPrimitive.cpp
since I seem to have the problem fixed. If you think that the output
from this might still be useful to you, I can still do it and email
the results. Again just ask, and I'll be happy to help.

Thanks again,
Stephen Halter

P.S. I can't tell you how many times I compiled with the MULTITEXURE=0
option, thinking it was actually doing something.

On Mon, Apr 27, 2009 at 2:37 AM, gabor papp <gabor.lists at mndl.hu> wrote:
>> 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