Access Violation OpenGl, VisualStudio 2008

Mitglied: Bierkistenschlepper

Bierkistenschlepper (Level 2) - Jetzt verbinden

10.10.2011, aktualisiert 14:49 Uhr, 5363 Aufrufe, 3 Kommentare

Ich arbeite mich gerade mit der OpenGL SuperBible in die Grfikprogrammierung ein. Leider habe ich schon in Kapitel 2 ein Problem. Ich habe alles exakt genauso gemacht wie im Buch beschrieben und den Code habe ich auch direkt von der Homepage genommen und nicht etwa selbst getippt. Wenn ich das Projekt ausführen will, wirft VS eine nette Fehlermeldung:

Unhandled Exception at 0x00000000 in Triangle.exe: 0xC0000005: Access violation

Hat irgendjemand eine Ahnung, woher das kommt? Ich bin am Verzweifeln, denn ich muss einen Großteil dieses Buhs bis Semesterbeginn durchgearbeitet haben...

Ausführen tue ich Visual Studio 2008 auf meinem Mac in einer VM mit VirtualBox und Windows 7.

Hier mal der Code, wie gesagt ohne jede Änderung meinerseits. Es treten keine Fehler auf, der Code wird ja ausgeführt. Dann erscheint eine Konsole und dann ein zweiter Fensterrahmen, der aber leer bleibt.



Triangle.cpp
Our first OpenGL program that will just draw a triangle on the screen.

#include <GLTools.h> OpenGL toolkit
#include <GLShaderManager.h>
Shader Manager Class

#ifdef __APPLE__
#include <glut/glut.h> OS X version of GLUT
#else
#define FREEGLUT_STATIC
#include <GL/glut.h>
Windows FreeGlut equivalent
#endif

GLBatch triangleBatch;
GLShaderManager shaderManager;

///////////////////////////////////////////////////////////////////////////
Window has changed size, or has just been created. In either case, we need
to use the window dimensions to set the viewport and the projection matrix.
void ChangeSize(int w, int h)
{
glViewport(0, 0, w, h);
}


///////////////////////////////////////////////////////////////////////////
This function does any needed initialization on the rendering context.
This is the first opportunity to do any OpenGL related tasks.
void SetupRC()
{
Blue background
glClearColor(0.0f, 0.0f, 1.0f, 1.0f );

shaderManager.InitializeStockShaders();

Load up a triangle
GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,
0.5f, 0.0f, 0.0f,
0.0f, 0.5f, 0.0f };

triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();
}



///////////////////////////////////////////////////////////////////////////
Called to draw scene
void RenderScene(void)
{
Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);

GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };
shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);
triangleBatch.Draw();

Perform the buffer swap to display back buffer
glutSwapBuffers();
}


/////////////////////////////////////////////////////////////////////////////
// Main entry point for GLUT based programs
int main(int argc, char* argv[])
{
gltSetWorkingDirectory(argv[0]);

glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
glutInitWindowSize(800, 600);
glutCreateWindow("Triangle");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);

GLenum err = glewInit();
if (GLEW_OK != err) {
fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));
return 1;
}

SetupRC();

glutMainLoop();
return 0;
}
Mitglied: Bierkistenschlepper
10.10.2011 um 17:45 Uhr
Hier noch das Log unten. Kann mir jemand sagen, wieso das Ding versucht auf die cryptbase.dll zuzugreifen? Ich habe Visual Studio per Torrent gesaugt, hoffe ich habe mir da nix eingefangen...

'Triangle.exe': Loaded 'C:\Users\Cornelius\Documents\Visual Studio 2008\Projects\Triangle\Debug\Triangle.exe', Symbols loaded.
'Triangle.exe': Loaded 'C:\Windows\System32\ntdll.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\kernel32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\KernelBase.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\opengl32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\msvcrt.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\advapi32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\sechost.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\rpcrt4.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\gdi32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\user32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\lpk.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\usp10.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\glu32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\ddraw.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\dciman32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\setupapi.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\cfgmgr32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\oleaut32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\ole32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\devobj.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\dwmapi.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\winmm.dll'
'Triangle.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2\msvcr90d.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\imm32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\msctf.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\uxtheme.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\VBoxOGL.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\VBoxOGLcrutil.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\ws2_32.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\nsi.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\nlaapi.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\NapiNSP.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\pnrpnsp.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\mswsock.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\dnsapi.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\winrnr.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\VBoxOGLpackspu.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\VBoxOGLerrorspu.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\VBoxOGLfeedbackspu.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\VBoxOGLpassthroughspu.dll'
'Triangle.exe': Loaded 'C:\Windows\System32\cryptbase.dll'
First-chance exception at 0x00000000 in Triangle.exe: 0xC0000005: Access violation.
Unhandled exception at 0x00000000 in Triangle.exe: 0xC0000005: Access violation.
The program '[1388] Triangle.exe: Native' has exited with code -1073741819 (0xc0000005).
Bitte warten ..
Mitglied: mrtux
10.10.2011 um 23:45 Uhr
Hi !

Dir ist aber schon klar, dass die 3D Beschleunigung der Treiber (in den Guest Additions) von Virtualbox noch den Status "unstable" oder "beta" tragen...Warum eigentlich per Torrent gesaugt? Reicht zu Lernzwecken nicht auch die Express Edition? Soweit ich mich da grad noch erinnern kann, bekommt man die doch vom Hersteller kostenlos....

mrtux
Bitte warten ..
Mitglied: Bierkistenschlepper
11.10.2011 um 10:58 Uhr
Ja! nur ist das ja eigneltich keine 3D-Grafik sondern nur 2D bisher... Aber ich vermute auch, dass das an der VirtualBox liegt! Per Torrent habe ich das gesaugt weils schneller ging. Hab allerdings jetzt nochmal von MS geladen.
Bitte warten ..
Heiß diskutierte Inhalte
HTML
Ich brauche dringend Hilfe !
gelöst JulianpustVor 1 TagFrageHTML20 Kommentare

Hallo erstmal, ich habe großen Mist gebaut in der Firma wo ich gerade mal 2 Tage arbeite. Was ist passiert: Ich sollte von Gmail ...

LAN, WAN, Wireless
8 Geräte - verteilen oder auf einen Switch?
DoKi468Vor 1 TagFrageLAN, WAN, Wireless12 Kommentare

Hallo liebe Admins, eine kurze Frage: Ich habe hier eine FB 6190 Cable stehen sowie einen noch unmonitored switch mit 8 Anschlüssen. Momentan sieht ...

Windows Server
Server-Internetverbindung kurz trennen und wieder aktivieren
gelöst imebroVor 1 TagFrageWindows Server13 Kommentare

Hallo, wir haben im Moment fast täglich immer wieder Ausfälle unserer Internetverbindung. Unser Provider sagt, dass er kein Problem feststellen kann. Aber wenn vom ...

LAN, WAN, Wireless
"Ethernet verfügt über keine gültige IP-Konfiguration"
gelöst archITVor 19 StundenFrageLAN, WAN, Wireless18 Kommentare

Moin, folgendes Problem: Jedes mal, wenn ich meinen PC an mache, muss ich die Problembehandlung auf der Ethernet schnittstelle ausführen, dass ich Internet habe. ...

Netzwerke
Hardware-Firewall - NGFW - UTM für Privatgebrauch
LordVoodooVor 1 TagFrageNetzwerke7 Kommentare

Hallo liebe Community, seit mehreren Wochen beschäftige ich mich nun schon mit dem Thema Hardware-Firewall, ausgelöst durch Begriffe wie UTM / NGFW / Layer-7-DPI. ...

Hardware
Kabelfernsehen in anderen Raum "übertragen" ?
cramtroniVor 1 TagFrageHardware6 Kommentare

Guten Tag zusammen, ich hätte eine Frage und zwar gibt es in unserem Haus nur einen Kabelanschluss (Coax) für das Kabelfernsehen, nun hätte ich ...

Switche und Hubs
Ist bei einem kleinen Switch Rackmount Kit dabei?
CubeHDVor 1 TagFrageSwitche und Hubs5 Kommentare

Hallo, ich möchte den "HPE OfficeConnect 1420 16G Switch" kaufen. Der Switch hat 16 Ports und ich möchte diesen in einen Standard 19 Zoll ...

Microsoft
PDF editor mit spezieller exportfunktion
FlorianHeVor 18 StundenFrageMicrosoft9 Kommentare

Hi leute. Ich habe eine Frage. Bei uns in der Instandhaltung kommt es oft vor das wir änderungen an den Elektrischen Anlagen oder Mechanichen ...