Ejemplo n.º 1
0
void Sphere::setupGLBuffers() {
    if(Sphere::initialized) { // no need to resetup
        return;
    }
    setVertexData(); // set the vertex data before using
    size_t dataSize = Sphere::numVert * 4 * sizeof(GLfloat);
    
    // vertex data
    glGenBuffers(1, &Sphere::vBuffer);
    glBindBuffer(GL_ARRAY_BUFFER, Sphere::vBuffer);
    glBufferData(GL_ARRAY_BUFFER, dataSize, Sphere::vertexData, GL_STATIC_DRAW);
    
    glGenBuffers(1, &Sphere::eBuffer);
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, Sphere::eBuffer);
    glBufferData(GL_ELEMENT_ARRAY_BUFFER, Sphere::numVert * sizeof(GLushort), Sphere::elemData, GL_STATIC_DRAW);
    
    glBindBuffer(GL_ARRAY_BUFFER, 0);
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
    
    // shader program
    Sphere::shaderPrg = shaderSetup("Sphere.vert", "Sphere.frag");
    // TODO SETUP VERTEX POSITIONAL DATA AND STUFF
    Sphere::vPosition = glGetAttribLocation(Sphere::shaderPrg, "vPosition" );
    Sphere::transLoc = glGetUniformLocation(Sphere::shaderPrg, "trans");
    
    Sphere::initialized = true;
}
Ejemplo n.º 2
0
void
piglit_init(int argc, char **argv)
{
	/* GL version must be 3.0 */
	piglit_require_gl_version(30);
	loadTex();
	glMatrixMode(GL_PROJECTION);
	glPushMatrix();
	glLoadIdentity();
	glOrtho(0, piglit_width, 0, piglit_height, -1, 1);
	glMatrixMode(GL_MODELVIEW);
	glPushMatrix();
	glLoadIdentity();
	glClearColor(0.1, 0.1, 0.1, 1.0);
	shaderSetup();
}
Ejemplo n.º 3
0
void
piglit_init(int argc, char **argv)
{
	/* Check if EXT_gpu_shader4 is supported */
	if (!piglit_is_extension_supported("GL_EXT_gpu_shader4"))
		/* If EXT_gpu_shader4 is not supported GL version must be 3.0 */
		piglit_require_gl_version(30);
	loadTex();
	glMatrixMode(GL_PROJECTION);
	glPushMatrix();
	glLoadIdentity();
	glOrtho(0, piglit_width, 0, piglit_height, -1, 1);
	glMatrixMode(GL_MODELVIEW);
	glPushMatrix();
	glLoadIdentity();
	glClearColor(0.1, 0.1, 0.1, 1.0);
	shaderSetup();
}
Ejemplo n.º 4
0
/* Initializes the OpenGL environment for ray tracing.
Sets the OpenGL state variables
Sets the global vertex and element buffers for drawing
*/
void initOpenGL(void) {
    // OpenGL state variables
    glEnable(GL_DEPTH_TEST | GL_CULL_FACE);
    glClearColor(0.0, 0.0, 0.0, 1.0);
    glCullFace(GL_FRONT);
    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
    // Simple Square for ray tracing shaders
    GLushort elemData[] = {0, 1, 2, 3, 0, 2};
    //                       x,    y,    z,
    GLfloat vertData[] = {-1.0,  1.0,  0.0,
                          -1.0, -1.0,  0.0,
                           1.0, -1.0,  0.0,
                           1.0,  1.0,  0.0};

    int dataSize = NUM_VERTS * 3 * sizeof(GLfloat);
    glGenBuffers(1, &vBuffer);
    glBindBuffer(GL_ARRAY_BUFFER, vBuffer);
    glBufferData(GL_ARRAY_BUFFER, dataSize, vertData, GL_STATIC_DRAW);

    glGenBuffers(1, &eBuffer);
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, eBuffer);
    glBufferData(GL_ELEMENT_ARRAY_BUFFER, 6*sizeof(GLushort), elemData, GL_STATIC_DRAW);

    // compile shader programs here in Resources folder
    shaderProg = shaderSetup("resources/pong.vert", "resources/pong.frag");
    if (!shaderProg) {
        perror("ERROR Setting up default shadern");
        exit(1);
    }
    vertPos = glGetAttribLocation(shaderProg, "currVert");
    ball_glPos = glGetUniformLocation(shaderProg, "ballPos");
    player_glPos = glGetUniformLocation(shaderProg, "playerPos");
    comp_glPos = glGetUniformLocation(shaderProg, "compPos");
    
    return;
}