Re: What's wrong
Fred Clyne (roll.csd.sgi.com!rock.csd.sgi.com!sgi.com!uunet.uu.net!ds9!octave!fred)
Tue, 10 Sep 1996 13:42:16 -0400
On Mar 1, 4:50pm, Tawfek Mukhtar wrote:
> Subject: What's wrong
> I've copied program
> /usr/src/Performer/src/pguide/libpr/examples/colorcube.c
>
> and modify it so that everything is in one main(). Compile it nothing wrong
> but it won't execute.(Bus error (core dumped)). Any suggestion ? Thanks a
lot.
>
> #include <Performer/pf.h>
> #include <Performer/pr.h>
>
> #include "pfsgi.h"
> #include "pr.h"
> static pfVec3 vertices[] = {
> {-1.0, -1.0, 1.0},
> {1.0, -1.0, 1.0},
> {1.0, 1.0, 1.0},
> {-1.0, 1.0, 1.0},
> {-1.0, -1.0, -1.0},
> {1.0, -1.0, -1.0},
> {1.0, 1.0, -1.0},
> {-1.0, 1.0, -1.0}
> };
>
>
> ushort svindex[] = {
> 0, 1, 2, 3, /*front*/
> 0, 3, 7, 4, /*left*/
> 4, 7, 6, 5, /*back*/
> 1, 5, 6, 2, /*right*/
> 3, 2, 6, 7, /*top*/
> 0, 4, 5, 1 /*bottom*/
> };
>
> static pfVec3 snorms[] = {
> {0.0, 0.0, 1.0},
> {0.0, 0.0, -1.0},
> {0.0, 1.0, 0.0},
> {0.0, -1.0, 0.0},
> {1.0, 0.0, 0.0},
> {-1.0, 0.0, 0.0}
> };
>
> ushort snindex[] = { 0,
> 5,
> 1,
> 4,
> 2,
> 3 };
>
> static pfVec4 scolors[] ={ {1.0f, 1.0f, 1.0f, 1.0f},
> {0.0f, 0.0f, 1.0f, 1.0f},
> {1.0f, 0.0f, 0.0f, 1.0f},
> {0.0f, 1.0f, 0.0f, 1.0f} };
>
> static ushort scindex[] = { 0, 1, 2, 3,
> 0, 1, 2, 3,
> 0, 1, 2, 3,
> 0, 1, 2, 3,
> 0, 1, 2, 3,
> 0, 1, 2, 3 };
>
> int main(int argc, char * argv[])
> {
> pfScene * scene;
> pfGeode * geode;
> pfGeoSet * gSet;
> pfGeoState * gState;
> pfPipe * pipe;
> pfChannel * channel;
> pfNode * object;
> pfCoord view;
> float time = 0.0f;
> float maxTime;
>
> pfInit();
> pfConfig();
>
> pipe = pfGetPipe(0);
> channel = pfNewChan(pipe);
>
> gState = pfNewGState(pfGetSharedArena());
> gSet = pfNewGSet(pfGetSharedArena());
>
> pfGSetAttr(gSet, PFGS_COORD3, PFGS_PER_VERTEX, vertices, svindex);
> pfGSetAttr(gSet, PFGS_NORMAL3, PFGS_PER_PRIM, snorms, snindex);
> pfGSetAttr(gSet, PFGS_COLOR4, PFGS_PER_VERTEX, scolors, scindex);
>
> pfGSetPrimType(gSet, PFGS_QUADS);
> pfGSetNumPrims(gSet, 6);
>
> pfGStateMode(gState, PFSTATE_ENTEXTURE, 0);
> pfGStateMode(gState, PFSTATE_TRANSPARENCY, 1);
> pfGSetGState(gSet, gState);
>
> geode = pfNewGeode();
> pfAddChild(geode, gSet);
_________^
This should be pfAddGSet(geode, gSet);
>
> scene = pfNewScene();
>
> pfAddChild(scene, geode);
>
> pfChanScene(channel, scene);
> pfInitPipe(pipe, NULL);
>
> pfSetVec3(view.xyz, 10.0, -10.0, 10.0);
> pfSetVec3(view.hpr, 45.0, -10.0, 0.0);
>
> pfInitClock(0.0f);
>
> pfChanView(channel, view.xyz, view.hpr);
>
> while(time < maxTime){
> pfSync();
> time = pfGetTime();
> pfFrame();
> }
>
> pfExit();
> exit(0);
> }
> =======================================================================
> List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
>-- End of excerpt from Tawfek Mukhtar
--
Fred Clyne
Cambridge Research Associates office: 703-790-0505 x 7211
1430 Spring Hill Road, Suite 200 fax: 703-790-0370
McLean, VA 22102 email: fred++at++cambridge.com
=======================================================================
List Archives, FAQ, FTP: http://www.sgi.com/Technology/Performer/
Submissions: info-performer++at++sgi.com
Admin. requests: info-performer-request++at++sgi.com
This archive was generated by hypermail 2.0b2
on Mon Aug 10 1998 - 17:53:31 PDT