I have code a program and compiled two of the copy on different machine,they all can pass the compile and start up,but one of the programes can’t work properly.I see in the output windows in the VC++,and found that they(the programes run under the different machine) used the different *.dll files.The program came out exception use two more *.dll,one of them came out error.
BOTH the OS is win2000,and the code was compiled under the Visual C++.net,the machine have the same Opengl32.dll ,glut.dll,gl.dll…
the different is only the hardware.
I want to KNOW:
why same program call the different *.dll?
yes,I found that the dll came out error have some relation with the driver,because it was installed with the driver,
BUT there is something I can’t understand:it first work without any error
glPixelZoom(xscale, yscale);
glPixelStorei(GL_UNPACK_ROW_LENGTH,tempxx);
glPixelStorei(GL_UNPACK_SKIP_PIXELS,cx);
glPixelStorei(GL_UNPACK_SKIP_ROWS,cy);
GLvoid* pbits=(GLvoid*)bmp.GetBits();
void* ppp=bmp.GetPixelAddress(tempxx-1,tempyy-1);
if(OnPaintFlag==1)
{
OnPaintFlag=0;
}
glDrawPixels(tempxx,tempyy,GL_BGR_EXT, GL_UNSIGNED_BYTE,ppp);
When I change the parameter :“yscale” or"xscale",It come out error"
Unhandled exception at 0x6907a2d4 in MyDlgOpenGL.exe: 0xC0000005: Access violation reading location 0x031deb4b."
glPixelZoom(xscale, yscale);
find that when xscale is smaller than 0.5,it report error,
But in fact the picture is bigger than the windows,that is it should do it properly
Because I just want to display a BMP in the CWnd,and the BMP is very big(maybe 1024*8k),but i found that texture always have confine of the bmp SIZE,so I choose to use drawpixel
the error comes with WINNT\system32 ridicdp.dll which is installed with the display card.
I think it will be so annoying to use the texture,because it will have to draw on the wnd,and the wnd have to move, so it will be troublesome when the thing user draw cover two smaller texture
Originally posted by aQ:
[b]the error comes with WINNT\system32 ridicdp.dll which is installed with the display card.
I think it will be so annoying to use the texture,because it will have to draw on the wnd,and the wnd have to move, so it will be troublesome when the thing user draw cover two smaller texture[/b]
It might be a driver bug. To test it, make simple app which should cause error. If error appear again, try to find new driver for this card or make another solution.
I dont understand problem with moveing window. Anyway… I know it is boring to code texture codepath, but, belive me, right now it is a fastest way to do this.