hello,
i am trying to write a simple program to display a cube.
my problem is however that when i run the program i can only see a blue background (the background being the value of glClearColor)
and not the red cube.

note: compile the C program as a shared library and set LD_LIBRARY_PATH=/path/to/lib

python code (testGL.py):
------snip----

#!/usr/bin/python
import pygame
import sys
import os
import subprocess
import ctypes
from pygame.locals import *
screen = pygame.display.set_mode((1440, 900), HWSURFACE|OPENGL|DOUBLEBUF|FULLSCREEN)
Driver = ctypes.CDLL("testGL.so")
Driver.resize(ctypes.c_int(1440), ctypes.c_int(900))
Driver.init()
kg=True
while kg:
    for event in pygame.event.get():
        if event.type == KEYDOWN or event.type == QUIT:
            kg=False
            sys.exit()
    Driver.draw_scene()
    pygame.display.flip()

-------end snip-----

C code (testGL.c):
-----snip-----

#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glext.h>
#include <math.h>

GLvoid resize(int width, int height)
{
    glViewport(0, 0, width, height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(60., (float)width/height, 1., 10000.);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

GLvoid init()
{
    glEnable(GL_DEPTH_TEST);
    glClearColor(0.0, 0.0, 1.0, 0.0);
    glShadeModel(GL_SMOOTH);
}

GLvoid draw_scene()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);          
    glLoadIdentity();
    glTranslatef(-1.5f,0.0f,-6.0f);
    glBegin(GL_QUADS);
    glColor3f(1.0, 0.0, 0.0);
    glVertex3f(100.0, 100.0, 0.0);
    glVertex3f(200.0, 100.0, 0.0);
    glVertex3f(200.0, 200.0, 0.0);
    glVertex3f(100.0, 200.0, 0.0);
    glEnd();
}

-----end snip-----


Dela foton på ett smidigt sätt med Windows LiveT Photos. Dra och släpp