Jump to content

  • Log In with Google      Sign In   
  • Create Account

_cookie

Member Since 15 Feb 2013
Offline Last Active Feb 02 2014 05:11 PM

Topics I've Started

OpenGL, GLFW when making 3d pyramid some faces do not show

22 August 2013 - 05:05 PM

So when i make a 3d triangle it just misses faces as shown below (with quad)
 
 
1.JPG
 
2.JPG
 
3.JPG

#include <glfw3.h>
#include <stdio.h>
#include <iostream>

using namespace std;

/* Begin Void prototyping */
void error_callback(int error, const char* description);
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods);

int main(void)
{
    GLFWwindow* window;

	/* Initializes error call-backs */
	glfwSetErrorCallback(error_callback);

    /* Initialize the library */
    if (!glfwInit())
        return -1;

    /* Create a windowed mode window and its OpenGL context */
    window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); // fullscreen glfwGetPrimaryMonitor() (first NULL)
    if (!window)
    {
        glfwTerminate();
        return -1;
    }

	/* Makes OpenGL context current */
	glfwMakeContextCurrent(window);

    /* Make the window's context current */
    glfwMakeContextCurrent(window);

	/* Receives input events */
	glfwSetKeyCallback(window, key_callback);

    /* Loop until the user closes the window */
    while (!glfwWindowShouldClose(window))
    {
        /* Render here */
		float ratio;
        int width, height;

        glfwGetFramebufferSize(window, &width, &height);
        ratio = width / (float) height;

        glViewport(0, 0, width, height);
        glClear(GL_COLOR_BUFFER_BIT);

        glMatrixMode(GL_PROJECTION);
        glLoadIdentity();
        glOrtho(-ratio, ratio, -1.f, 1.f, 1.f, -1.f);
        glMatrixMode(GL_MODELVIEW);

        glLoadIdentity();
        glRotatef((float) glfwGetTime() * 50.f, 0.f, 0.f, 1.f);


	glBegin(GL_TRIANGLES);								// Start Drawing A Triangle
		glColor3f(1.0f,0.0f,0.0f);						// Red
		glVertex3f( 0.0f, 1.0f, 0.0f);					// Top Of Triangle (Front)
		glColor3f(0.0f,1.0f,0.0f);						// Green
		glVertex3f(-1.0f,-1.0f, 1.0f);					// Left Of Triangle (Front)
		glColor3f(0.0f,0.0f,1.0f);						// Blue
		glVertex3f( 1.0f,-1.0f, 1.0f);					// Right Of Triangle (Front)
		glColor3f(1.0f,0.0f,0.0f);						// Red
		glVertex3f( 0.0f, 1.0f, 0.0f);					// Top Of Triangle (Right)
		glColor3f(0.0f,0.0f,1.0f);						// Blue
		glVertex3f( 1.0f,-1.0f, 1.0f);					// Left Of Triangle (Right)
		glColor3f(0.0f,1.0f,0.0f);						// Green
		glVertex3f( 1.0f,-1.0f, -1.0f);					// Right Of Triangle (Right)
		glColor3f(1.0f,0.0f,0.0f);						// Red
		glVertex3f( 0.0f, 1.0f, 0.0f);					// Top Of Triangle (Back)
		glColor3f(0.0f,1.0f,0.0f);						// Green
		glVertex3f( 1.0f,-1.0f, -1.0f);					// Left Of Triangle (Back)
		glColor3f(0.0f,0.0f,1.0f);						// Blue
		glVertex3f(-1.0f,-1.0f, -1.0f);					// Right Of Triangle (Back)
		glColor3f(1.0f,0.0f,0.0f);						// Red
		glVertex3f( 0.0f, 1.0f, 0.0f);					// Top Of Triangle (Left)
		glColor3f(0.0f,0.0f,1.0f);						// Blue
		glVertex3f(-1.0f,-1.0f,-1.0f);					// Left Of Triangle (Left)
		glColor3f(0.0f,1.0f,0.0f);						// Green
		glVertex3f(-1.0f,-1.0f, 1.0f);					// Right Of Triangle (Left)
	glEnd();											// Done Drawing The Pyramid


        /* Swap front and back buffers */
        glfwSwapBuffers(window);

        /* Poll for and process events */
        glfwPollEvents();
    }

	glfwDestroyWindow(window);

    glfwTerminate();
    return 0;
}

/* 
	Calls back the program if a GLFW function fail and logs it
*/
void error_callback(int error, const char* description)
{
    fputs(description, stderr);
}

/* Gives keys events */
static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
{
	switch(key)
	{
	case GLFW_KEY_ESCAPE:
		glfwSetWindowShouldClose(window, GL_TRUE);
		break;
	case GLFW_KEY_W:
		cout << "W works!!!" << endl;
		break;
	case GLFW_KEY_A:
		cout << "A works!!!" << endl;
		break;
	case GLFW_KEY_S:
		cout << "S works!!!" << endl;
		break;
	case GLFW_KEY_D:
		cout << "D works!!!" << endl;
		break;
	}
}

Ive been trying to fix it for hours i just dont know what too do now 


Video Tutorials

22 August 2013 - 01:26 PM

Hi does any one know of usefull good quality OpenGL/GLFW tutorials all the tutorials i have found dont use GLFW or use a 3> version of OpenGL

 

Thanks to any one that helps


C++ & OpenGL for 3d game engine

15 February 2013 - 03:10 PM

I've been learning c++ and now i'm interested to what it would take to start a basic 3d game engine. Few questions then:

 

1. would it be good to have c++ & opengl

 

2. Is there any specific software i need or downloads 

 

3. Where would i start 

 

4. Is there any good tutorials which could start me of

 

 

Thanks for any help in advance 


PARTNERS