Giddion Skrevet 29. mai 2008 Del Skrevet 29. mai 2008 Hmm, alle setningane slutta jo med ; Hehe vel jeg tenkte på setninger som ikke er i kode ; Men nå er alle de errorane fixa, men nå får jeg glaux.lib error feil igjen :S1>LINK : fatal error LNK1104: cannot open file 'glaux.lib' Noen som har kjennskap til det problemet? Vel problemet kommer av at ms ikke lengere har glaux med i sin pakke, men hva bruker du glaux til? Lenke til kommentar
kake_fisk Skrevet 29. mai 2008 Forfatter Del Skrevet 29. mai 2008 For å være erlig bruker jeg ikke glaux :S Hvor kom det fra? Har aldri hørt om det... Lenke til kommentar
GeirGrusom Skrevet 29. mai 2008 Del Skrevet 29. mai 2008 glaux er et ekstrabibliotek du kan laste ned for vindubehandlig og slikt. Jeg har aldir brukt det. Jeg bruker heller ikke glu heller jeg da... Lenke til kommentar
kake_fisk Skrevet 30. mai 2008 Forfatter Del Skrevet 30. mai 2008 Ja, men hvorfor for jeg error der da? #define WIN32_LEAN_AND_MEAN #include <windows.h> #include <GL\GL.H> // This is a foreward declaration of the function that creates the OpenGL window HWND ThisCreateWindow(ATOM window_class); // This is a foreward declaration of the function that registers the OpenGL windows class ATOM ThisRegisterClass(); // This is a foreward declaration of the function that initializes OpenGL on the specified window HGLRC ThisInitOpenGL(HDC dc, HWND wnd); // Variable containing window handle HWND m_hwnd; // Variable containing window device rendering context HDC m_hdc; // Variable containing OpenGL instance handle HGLRC m_gl; // Variable containing window class ATOM wnd_class; // Application state variable int app_running = FALSE; int CleanUp(); int ErrorCleanUp(); // Main OpenGL render function void Render(); // Program entry point int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // Register our window class wnd_class = ThisRegisterClass(); MSG msg; // Create a new instance of our window class m_hwnd = ThisCreateWindow(wnd_class); // Create a window device rendering context m_hdc = GetDC(m_hwnd); // Initialize OpenGL if(!(m_gl = ThisInitOpenGL(m_hdc, m_hwnd))) return ErrorCleanUp(); // Failed initializing OpenGL // Update and show window UpdateWindow(m_hwnd); ShowWindow(m_hwnd, SW_SHOW); app_running = TRUE; // Main application loop while(app_running) { if(GetAsyncKeyState(VK_ESCAPE) & 0x0001) app_running = FALSE; Render(); if(PeekMessage(&msg, m_hwnd, 0, 0, PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } } return CleanUp(); } // OpenGL render function void Render() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrtho(-2, 2, -2, 2, -2, 2); glMatrixMode(GL_MODELVIEW); // Place all OpenGL render functions here glRotatef(1, 0, 0, 1); glBegin(GL_QUADS); { glColor3f(1, 0, 0); glVertex2f(-1, -1); glColor3f(0, 1, 0); glVertex2f( 1, -1); glColor3f(0, 0, 1); glVertex2f( 1, 1); glColor3f(1, 1, 1); glVertex2f(-1, 1); } glEnd(); glFlush(); SwapBuffers(m_hdc); } int ErrorCleanUp() { CleanUp(); // Return error code return 1; } int CleanUp() { // Clean up resources wglMakeCurrent(NULL, NULL); wglDeleteContext(m_gl); ReleaseDC(m_hwnd, m_hdc); DestroyWindow(m_hwnd); UnregisterClass((LPCTSTR)wnd_class, NULL); return 0; } HGLRC ThisInitOpenGL(HDC dc, HWND wnd) { PIXELFORMATDESCRIPTOR pfd; int pixel_format; HGLRC gl; // Fill memory with zero ZeroMemory(&pfd, sizeof(pfd)); pfd.cColorBits = 32; // 32-bit color buffer pfd.cDepthBits = 32; // 32-bit z-buffer pfd.dwFlags = PFD_DOUBLEBUFFER | PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL; pfd.nSize = sizeof(pfd); pfd.nVersion = 1; //Must be 1 pfd.iLayerType = PFD_MAIN_PLANE; // Render to main plane pfd.iPixelType = PFD_TYPE_RGBA; // Full color, not color indices // Select closest matching pixel format pixel_format = ChoosePixelFormat(dc, &pfd); // Assign pixel format SetPixelFormat(dc, pixel_format, &pfd); // Try creating OpenGL device context if(gl = wglCreateContext(dc)) wglMakeCurrent(dc, gl); // OpenGL initialized successfully else MessageBox(wnd, "Error initializing OpenGL", "Error", MB_OK | MB_ICONERROR); // Return OpenGL device context handle return gl; } ATOM ThisRegisterClass() { WNDCLASS the_class; ZeroMemory(&the_class, sizeof(the_class)); // Create a basic window class the_class.lpszClassName = "OpenGLLesson1Class"; the_class.style = CS_HREDRAW | CS_VREDRAW; the_class.lpfnWndProc = DefWindowProc; return RegisterClass(&the_class); } HWND ThisCreateWindow(ATOM window_class) { HWND wnd = CreateWindow( (LPCTSTR)window_class, // Window class is the atom passed. We don't use the class name here, but we could have. "OpenGL lesson 1 - Press escape to quit demo", // Window title, doesn't matter. WS_OVERLAPPED, // Window style CW_USEDEFAULT, // X poistion, use default CW_USEDEFAULT, // Y position, use default CW_USEDEFAULT, // Width, use default CW_USEDEFAULT, // Height, use default NULL, // Parent window: no parent NULL, // Menu, we don't use a menu NULL, // Instance, we don't care NULL // lParam, we don't use additional parameters ); return wnd; } Lenke til kommentar
GeirGrusom Skrevet 30. mai 2008 Del Skrevet 30. mai 2008 (endret) Aner ikke, det programmet kompilerer og kjører på min maskin. edit: fjern glaux.lib fra "Additional Dependencies" i prosjektet. Endret 30. mai 2008 av GeirGrusom Lenke til kommentar
kake_fisk Skrevet 30. mai 2008 Forfatter Del Skrevet 30. mai 2008 (endret) sorry, men hvor finner jeg additional dependencies? Endret 30. mai 2008 av kake_fisk Lenke til kommentar
GeirGrusom Skrevet 30. mai 2008 Del Skrevet 30. mai 2008 Høyereklikk på prosjektet i Project Explorer, og finn frem Linker. Der ligger Additional Dependencies. Lenke til kommentar
kake_fisk Skrevet 30. mai 2008 Forfatter Del Skrevet 30. mai 2008 Hmm, jeg fant det ikke. Er jeg på riktig sted? Sjekk vedlegget under... Lenke til kommentar
kake_fisk Skrevet 30. mai 2008 Forfatter Del Skrevet 30. mai 2008 wow, det virket jo, du hadde rett, glaux.lib var lagt inn der. Men takk Jeg gleder meg til å begynne å lage ting med opengl nå Og et spørsmål Hva er best av directx og opengl? Lenke til kommentar
Giddion Skrevet 30. mai 2008 Del Skrevet 30. mai 2008 Hva er best av directx og opengl? Vil du ha krig på forumet eller? For det første så kan du ikke sammenligne directx med OpenGL siden directX inneholder så utrolig mye mer enn OpenGL. Du må sammenligne med Direct Graphic (tidligere direct 3D). Du har sikkert hørt at DX10 er vista only, men med OpenGL så har du tilgang til så å si alt DG Dx10 kan gi deg og det fra WinXP og *Nix systemer. Lenke til kommentar
kake_fisk Skrevet 30. mai 2008 Forfatter Del Skrevet 30. mai 2008 (endret) Oja... Jeg visste egentlig ikke noe særlig om directx, så måtte bare spørre Men nå fikk jeg et nytt problem, jeg trenger glaux for å importere texturer, men siden ikke glaux støttes av opengl lengre, hva gjør jeg da? Endret 30. mai 2008 av kake_fisk Lenke til kommentar
Mr.Garibaldi Skrevet 30. mai 2008 Del Skrevet 30. mai 2008 Du kan ta en titt her. Evt. kan du jo forsøke å laste inn texturer på en annen måte... Lenke til kommentar
GeirGrusom Skrevet 31. mai 2008 Del Skrevet 31. mai 2008 (endret) BMP filer er ganske enkle å lese, så du kan jo begynne med det. BITMAPFILEHEADER file_header; BITMAPINFOHEADER info_header; fread(bmp_file, &file_header, sizeof(file_header), 1); fread(bmp_file, &info_header, sizeof(info_header), 1); og da henter en bitmap data ved å lese fra file_header.bfOffBits. edit: merk at BMP starter fra nederst i venstre opp til øverst i høyere, og at den bruker BGR og ikke RGB rekkefølge. Endret 31. mai 2008 av GeirGrusom Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå