From: Dominic G. <dom...@ho...> - 2000-11-25 20:53:00
|
Nathan and Daryll, thank you for your answers. They were of great help for me and I appreciate. Following your advice Nathan, I removed the file /usr/X11R6/lib/libGL.so.1.2.0 (and kept the /usr/X11R6/lib/libGL.so.1.2), and now my dummy triangle rotates at 85 fps !! Woohoo! Dom >From: Nathan Hand <na...@ma...> >To: dom...@ma... >CC: dri...@li..., dri...@li... >Subject: Re: [Dri-devel] Confused with the use of libraries >Date: Sat, 25 Nov 2000 18:50:19 +1100 > >On Fri, Nov 24, 2000 at 09:05:20PM -0500, Dominic Genest wrote: > > Hello, > > > > I don't know if I am writing this to the right forum, but if I'm not, I > > would appreciate somebody to tell me where I should look for help : > > > > I'm just trying to write a dummy program that rotates a triangle and >uses > > hardware accelaration with my 3dfx voodoo3. > >Good place to start. > > > Firstable, I tried two games to make sure my X supported 3d accel, and >it > > does (I tried with Heretic II and Heavy Gear II). > > > > But I don't know what libraries I should use. I'm a confused a lot with > > which libraries are used for what. Should I use Glut? Mesa? Glide? GL? >All > > of them ? Others ?? > >First some definitions... > >OpenGL (aka GL) is a 3D library developed by SGI. You can think of this >as the library which knows how to draw shaded lighted triangles. > >Mesa is a free implementation of OpenGL. It's not called OpenGL because >of legal reasons, but for all practical purposes Mesa is OpenGL. > >GLU is a library built on top of GL. It does some of the more boring 3D >things (eg, building spheres out of lots of little triangles). > >GLUT is a library built on top of GLU and GL. It does some really nifty >things such as grabbing keyboard presses and mouse button presses. > >GLIDE is a library which does mostly the same things as OpenGL, but was >written by the 3DFX company. On Linux the DRI tdfx driver uses GLIDE. > >DRI is a rendering infrastructure designed to cooperate nicely with X11 >while still letting the application use the hardware directly. > >GLX is a method for sending OpenGL commands over an X11 protocol stream >and is analogous to WGL on Windows (GL over Win32). > >Phew... now to answer your question > >All 3D programs will need to link against libGL.so (-lGL). This is Mesa >disguising itself as OpenGL (it should be libMesa.so but it's easier to >call it libGL.so because then programs build without needing to rewrite >the makefiles first). > >If the program makes use of GLU then you need -lGLU. It doesn't hurt to >have -lGLU if you're not sure. > >Similarly if you use GLUT calls then you need -lglut. If you don't know >for sure, then it doesn't hurt to have -lglut. > > > I coded the following and it looks kind of slow when I maximize the >window > > it creates so that it covers all my 1024x768x16bpp screen... > > > > I compile it with : > > g++ -I/usr/X11R6/include/GL/ myprogram.cpp -L/usr/X11R6/lib -lGLU -lglut > > /usr/X11R6/lib/libGL.so.1.2 > >Try -lGL instead of /usr/X11R6/lib/libGL.so.1.2. > > > #include <glut.h> > > #include <gl.h> > > void r(void) { > > glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); > > glRotatef(5.0,0.0,1.0,0.0); > > glColor3f(0.5,0.6,0.2); > > glBegin(GL_TRIANGLES); glVertex3f(-0.5,-0.5,0.0); >glVertex3f(0.5,0.0,0.0); > > glVertex3f(0.0,0.5,0.0); glEnd(); > > glutSwapBuffers(); > > ^^^^ > >You're using glut, so you're also using GLU and GL. Your command line's >fine, and your code looks like it should do something :-) > >Now if it is going slow then it's probably because you have multiple GL >libraries on your system. One of them is accelerated (the one the games >keep finding) and one of them isn't (the one in /usr/X11R6/lib). > >To fix this, run "locate libGL" and remove anything that looks old. You >should keep backup copies of everything, just in case. > >It is also possible your games aren't using OpenGL at all; instead they >are using GLIDE libraries distributed with the game. You'll have to fix >this by installing the DRI. Instructions are on dri.sourceforge.net. >_______________________________________________ >Dri-devel mailing list >Dri...@li... >http://lists.sourceforge.net/mailman/listinfo/dri-devel _____________________________________________________________________________________ Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com |
From: Nathan H. <na...@ma...> - 2000-11-26 03:48:43
|
On Sat, Nov 25, 2000 at 03:52:54PM -0500, Dominic Genest wrote: > Following your advice Nathan, I removed the file > /usr/X11R6/lib/libGL.so.1.2.0 (and kept the /usr/X11R6/lib/libGL.so.1.2), > and now my dummy triangle rotates at 85 fps !! Woohoo! Neat. Keep in mind that tdfx on DRI won't swap buffers faster than the refresh rate of your screen. You can turn this feature off with an env variable FX_GLIDE_SWAPINTERVAL. $ ./myprog 85 fps $ FX_GLIDE_SWAPINTERVAL=0 ./myprog 700 fps This is good for benchmarking, not so useful for everday use. |