I am working on a game project using c++ and free glut and need to create a windowed mode in order for the game to be supported on machines with integrated graphics. However I haven't been able to find anything that makes sense that I input into my code.
Any suggestions of applicable code would be very helpful.
I am able to provide the code I have if necessary.
Akari x
Windowed Mode Using C++ & Free GLUT ....
Do you have to use FreeGLUT? Why not pick something more recent (i.e have been developed on in the last 10 years), like GLFW or SFML?
Cheers,
Bob
Here's the code to a simple program that opens a window and refreshes it
*
* hello.c
* This is a simple, introductory OpenGL program.
*/
#include <stdlib.h>
#include <GL/glut.h>
void display(void)
{
/* clear all pixels */
glClear (GL_COLOR_BUFFER_BIT);
/* draw white polygon (rectangle) with corners at
* (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
glBegin(GL_POLYGON);
glColor3f (1.0, 0.0, 0.0);
glVertex3f (0.25, 0.25, 0.0);
glColor3f (0.0, 1.0, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glColor3f (0.0, 0.0, 1.0);
glVertex3f (0.75, 0.75, 0.0);
glColor3f (1.0, 1.0, 1.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();
/* don't wait!
* start processing buffered OpenGL routines
*/
glFlush ();
}
void init (void)
{
/* select clearing color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
//glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
/*
* Declare initial window size, position, and display mode
* (single buffer and RGBA). Open window with "hello"
* in its title bar. Call initialization routines.
* Register callback function to display graphics.
* Enter main loop and process events.
*/
void reshape(int w, int h)
{
// You can choose to use only portion of the window
//if (w > h)
// glViewport(0, 0, h, h);
//else
// glViewport(0, 0, w, w);
// Or you can change the viewing volume based on the window size.
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (w <= h)
glOrtho(0.0, 1.0, 0,
1.0 * (GLfloat) h / (GLfloat) w, -1.0, 1.0);
else
glOrtho(0, 1.0 * (GLfloat) w / (GLfloat) h, 0, 1.0, -1.0, 1.0);
glMatrixMode(GL_MODELVIEW);
glutPostRedisplay();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (200, 150);
glutInitWindowPosition (100, 100);
glutCreateWindow ("Bob Holcomb’s First OpenGL Program");
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0; /* ANSI C requires main to return int. */
}
Do you have to use FreeGLUT? Why not pick something more recent (i.e have been developed on in the last 10 years), like GLFW or SFML?
Cheers,
Bob
FreeGlut is being developed. Its Glut that is no longer developed. That said, I still prefer GLFW.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement