Re: glInterleavedArrays locks vertex memory?
- From: Ralph Kern <usenet03@xxxxxxxx>
- Date: Thu, 14 Aug 2008 08:57:56 +0200
jbwest schrieb:
"Ralph Kern" <usenet03@xxxxxxxx> wrote in message news:g7u8hq$ioa$1@xxxxxxxxxxxxhi,
i have the following problem on a NVidia Quadro FX1700:
After using glInterleavedArrays and glDrawArrays the vertex field is write protected.
Driver: ForceWare 169.96, WinXP SP2
my code is:
glInterleavedArrays(GL_V3F, 0, &light->gl->aVert[0]);
for (s = 0; s < light->gl->aShellTrans.size(); s++)
{
Card32 nFirst = light->gl->aShellTrans[s].nFirst;
Card32 nLast = nFirst+light->gl->aShellTrans[s].nDraw;
SetupTrans(light->gl->aShellTrans[s].rShell, &info);
for (i = nFirst; i < nLast; i++)
{
glDrawArrays(light->gl->aDraw[i].mode, light->gl->aDraw[i].first, light->gl->aDraw[i].count);
}
glPopMatrix();
}
The aVert field is a std::vector of a xyz float struct.
After that any write acess on the vertex field gives "access violation". ie. light->gl->aVert[0].x = 0.0;
I tried to unlock using several commands, but with no use:
glInterleavedArrays(GL_V3F, 0, NULL);
glDisableClientState(GL_VERTEX_ARRAY);
glVertexPointer(4,GL_FLOAT,0,NULL);
glFinish();
Is that expected behaviour? Any tip for me?
thanks in advance
Ralph Kern
use a tool to check for a program memory bug, methinks you have one.
jbw
no, I checked the page access protection using VirtualQuery() Win32 API, and it clearly shows the protection changes from PAGE_READWRITE to PAGE_READONLY.
I nowhere use any write protected pages, so it's obviously done by the driver. The vertex field is just a std::vector<>.
In addition it is also happening when I replace the glInterleavedArrays/glDrawArrays by glBegin/glVertex3fv(&)/glEnd.
It doesn't happen when I use glBegin/glVertex3f(x,y,z)/glEnd. (Clearly the driver then does not know where my vertices are...)
regards Ralph
.
- Follow-Ups:
- Re: glInterleavedArrays locks vertex memory?
- From: jbwest
- Re: glInterleavedArrays locks vertex memory?
- References:
- glInterleavedArrays locks vertex memory?
- From: Ralph Kern
- Re: glInterleavedArrays locks vertex memory?
- From: jbwest
- glInterleavedArrays locks vertex memory?
- Prev by Date: Re: centering after rotate+translate
- Next by Date: Re: Is OpenGL dead?
- Previous by thread: Re: glInterleavedArrays locks vertex memory?
- Next by thread: Re: glInterleavedArrays locks vertex memory?
- Index(es):
Relevant Pages
|