PDA

View Full Version : setup in win2k with glut error??



silicon_chipper
08-03-2006, 11:51 PM
Ok I was set up on win 2k using Visual C++ 6.0 and using some code with the below headers. Everything "was" ok. I do not think the code is important. I think I just haven't got opengl setup right anymore. My computer fell to a virus and we had to reghost the hard drive. So I am back up now and trying to run the below code but I get a linker error: "instruction at "0x00000000" referenced memory at "0x00000000". the memory could not be "read"."
when I click cancel it says "unhandled exception in myProgramsName.exe: 0xC0000005: Access Violation"
My graphics card is a Vision Tek Xtasy 9200 SE and my secondary is a Radeon 9200 SE. I have the latest glut32.dll in in system32 the glut.h in VC98\include\gl and glut32.lib is in the VC98\Lib folder. Like I said everything used to work but I think I may have missed a step somewhere I remember setting up before and it was a little tricky. I might have done something else but I can't remember. Can anybody read this incredibly long message and help? I have scowered through many threads.

#pragma comment(linker, "/subsystem:\"windows\" \/entry:\"mainCRTStartup\"")

#include "GL/glut.h"
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glext.h>

Edit: Ok setup may be ok. I can run my code when I comment out this statement:

pglTexImage3D(GL_TEXTURE_3D,0,3,bmp.width,bmp.heig ht,1,0,GL_RGB,GL_UNSIGNED_BYTE,bmp.bytes);

The code is in my init function as below:
glClearColor(0.93f, 0.93f, 0.93f, 0.0f);

BMPClass bmp;
BMPLoad("240.bmp",bmp);

PFNGLTEXIMAGE3DPROC pglTexImage3D= (PFNGLTEXIMAGE3DPROC) wglGetProcAddress("glTexImage3D");


pglTexImage3D(GL_TEXTURE_3D,0,3,bmp.width,bmp.heig ht,1,0,GL_RGB,GL_UNSIGNED_BYTE,bmp.bytes);

glTexParameteri(GL_TEXTURE_3D,GL_TEXTURE_MIN_FILTE R,GL_LINEAR);

glTexParameteri(GL_TEXTURE_3D,GL_TEXTURE_MAG_FILTE R,GL_LINEAR);

glEnable(GL_TEXTURE_3D);


return true

songho
08-05-2006, 02:00 AM
silicon_chipper,
Make sure that pglTexImage3D is not NULL. It might be NULL(0) if the video driver does not support 3D texture or OpenGL rendering context is not opened yet.

Also, check if the size of image buffer is correct. It should be (width * height * 3) bytes based on your code.

silicon_chipper
08-05-2006, 01:59 PM
Thanks. Your right songho. I found out last night I'm using version 1.1.0. Do you know how to upgrade?
I tried the latest drivers but no deal. I know I can upgrade though since everything worked before. Do I need to install new drivers and get new versions of gl.h, glu.h, glu32.lib, opengl32.lib, glu32.dll, and opengl32.dll?

songho
08-05-2006, 10:47 PM
silicon_chipper,
You may find many tools from the net to check OpenGL version and extensions. Here is a small program. It will save useful OpenGL infos into a file, "glinfo.txt", which are supported by your video card.

glinfo.zip (http://songho.ca/opengl/files/glinfo.zip)

GL_TEXTURE_3D requires version 1.2 or higher. If it shows that your driver is not greater than 1.2, please update your video driver from your video card vendor.

V-man
08-06-2006, 08:48 AM
silicon_chipper, read the Wiki, getting started page

silicon_chipper
08-06-2006, 04:45 PM
Thanks to both. I checked out the wiki and got the new glu package version 1.3. I also got the latest driver from ATI. Like I said I already tried the "latest" VisionTek driver. Anyways glGetstring still returns version 1.1.0. Is there anything I can do? Please thanks.
Edit: Installing a driver that supports a higher version of opengl should change the result of glGetstring from 1.1.0 to the higher version that the drivers support right?