I want to make the size of my window (800,800), however the GL command
glutInitWindowSize(800, 500);
Isn't effecting my code in any way. Bellow is the source code in its entirety.
#include <stdio.h>
#include <stdlib.h>
#include <X11/X.h>
#include <X11/Xlib.h>
#include <GL/gl.h>
#include <GL/glx.h>
#include <GL/glu.h>
#include <GL/glut.h>
#include <iostream>
#include <math.h>
using namespace std;
struct point{
GLfloat x;
GLfloat y;
};
float a,b;
void initGL() {
// Set "clearing" or background color
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Black and opaque
}
/* Handler for window-repaint event. Call back when the window first appears and
whenever the window needs to be re-painted. */
void display() {
glClear(GL_COLOR_BUFFER_BIT); // Clear the color buffer with current clearing color
// glutInitWindowSize(800, 800);
float i;
float radians;
struct point graph[1000];
struct point graphC[1000];
for(i = 0.0; i < 1000.0; i++) {
graph[(int)i].x = i/1000.0;
graph[(int)i].y = sqrt(pow(i/100,3) + a*i/100.0 + b)/10.0;
graphC[(int)i].x = i/1000;
graphC[(int)i].y = -1*sqrt(pow(i/100,3) + a*i/100.0 + b)/10.0;
}
glBegin(GL_POINTS);
for(int j = 0; j < 1000; j ++){
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(graph[j].x,graph[j].y);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(graphC[j].x,graphC[j].y);
}
glEnd();
for(i = 0.0; i > -1000.0; i--) {
graph[-1*(int)i].x = i/1000.0;
graph[-1*(int)i].y = sqrt(pow(i/100,3) + a*i/100.0 + b)/10.0;
graphC[-1*(int)i].x = i/1000;
graphC[-1*(int)i].y = -1*sqrt(pow(i/100,3) + a*i/100.0 + b)/10.0;
}
glBegin(GL_POINTS);
for(int j = 0; j < 1000; j ++){
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(graph[j].x,graph[j].y);
glColor3f(1.0f, 0.0f, 0.0f);
glVertex2f(graphC[j].x,graphC[j].y);
}
glEnd();
glFlush(); // Render now
}
/* Main function: GLUT runs as a console application starting at main() */
int main(int argc, char** argv) {
cout<<"Please enter in a\n";
cin>>a;
cout<<"Please enter in b\n";
cin>>b;
glutInit(&argc, argv); // Initialize GLUT
glutCreateWindow("Scientific Plot"); // Create window with the given title
glutInitWindowSize(800, 500); // Set the window's initial width & height
glutInitWindowPosition(400, 400); // Position the window's initial top-left corner
glutDisplayFunc(display); // Register callback handler for window re-paint event
initGL(); // Our own OpenGL initialization
glutMainLoop(); // Enter the event-processing loop
return 0;
}
glutInitWindowPosition and glutInitWindowSize set the initial window position and size respectively. void glutInitWindowSize(int width, int height); void glutInitWindowPosition(int x, int y); width.
Description glutCreateWindow creates a top-level window. The name will be provided to the window system as the window's name. The intent is that the window system will label the window with the name. Implicitly, the current window is set to the newly created window.
Commands like glutInitWindowSize
need to be called before glutCreateWindow
, otherwise they have no effect. You can change a window's size after creating it by calling glutReshapWindow
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With