nefthy

Members
  • Content count

    266
  • Joined

  • Last visited

Community Reputation

184 Neutral

About nefthy

  • Rank
    Member
  1. you could try IBM's purify (comercial, but they have an evaluation version) or valgrind (if your app runs on linux) or memwatch (windows and unix)
  2. OpenGL loading image

    libpng isn't that hard to use example
  3. particle engine texture

    Just try them out all and see what works best. Textures with alpha will be the way to go. glBlendFunct reference
  4. Edit: Please use [ source] [ /source] (without the space) aroung long code dumps have you set up your normals right?
  5. Loading Extensions

    first you are missig the assignment operator when calling dlsym: glPointParameterfARB = (int (*)(GLenum, const GLfloat)) dlsym(libHandle, "glPointParameterfARB"); you can also call function the way you normaly do (no need for (*...))i.e. glPointParameterfARB(GL_POINT_DISTANCE_ATTENUATION_ARB,quadric); but as deavik said use glXGetProcAddressARB
  6. glLoadIdentity()

    when loading the texture use: glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
  7. How to block me away from the wall

    The solution is colition detection, which is tought in a later lesson.
  8. OpenGL why

    @nyphen: I also think your view is very narrow. There are quite a few reasons, besides low cost, for using linux or BSD. They are not a cheap windows replacement, they follow a totaly different design. You will work very differently on a Unix-like system than you will on Windows. I prefere to work on Linux :) Free, as in beer, software is a nice thing but it is not the most significant IMHO. There are even people paying for software they could get for free... Crossplatform game development isn't that hard anyway. With libs like SDL you get the crossalplatform part almost without additional work. So why not have a few happy custoumers more?
  9. Untitled

    you have to load the identity matrix at the start of each frame with glLoadIdentity.
  10. OpenGL OpenGL and Xwindows

    I don't know how to do it, but you can look at XCreatePixmapCursor, XDefineCursor and XUndefineCursor. If you find a way to do it drop me a line :) Also you could look at the screensaver sourcecode or maybe at the SDL source.
  11. quake2 uses interpolation between frames to save some memory. Also it splits the model into 3 parts (head, body, feet) for the same reason. You might want to do something like this too. Also if you have a great number of the same models it might be good to check which of them are in the same animation phase and transform calculate the interpolation only once for each group.
  12. you can calculate them. Take a look here
  13. Debugging tutorial

    Hi everyone, I am currently working an a debugging tutorial targeted at common problems encauntered in the NeHe and OpenGL forums. I will cover OpenGL specific debugging techniques aswell as some more general that can be usefull. What I have thought of including till now: The glGetError function and some handy tricks to make it easier to use Using a debuger to fix Access Violation (SegFaults) Using a memory debuger (valgrind) to fix memory corruptions Visualizing normals to fix lighting issues Can you think of anything else that might be usefull to include? Also I use the gnu tool chain for the examples since that is what I am familiar with, so I could use some help from someone who knows both the gnu and the MS Visual Studio tool chains, to "translate" the examples. Any other comments are wellcome as well.
  14. are you sure that you set the normals right?
  15. OpenGL HELP!!!!

    you could try to insert this code to get more information on what went wrong. For more info look up GetLastError and FormatMessage at msdn (thas where I copied the code from ;). LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, // Default language (LPTSTR) &lpMsgBuf, 0, NULL ); MessageBox( NULL, (LPCTSTR)lpMsgBuf, L"Error", MB_OK | MB_ICONINFORMATION ); LocalFree( lpMsgBuf );