Andreas I am not sure why this is not working. If I can see the entire
code base I can investigate. Maybe it might be time to fork my git
repo. More over it might be helpful to take a look at pogl (opengl
perl bindings, opengl on cpan). They do a way better job with bindings
then we do. I was conltemplating just using their code.
Kartik Thakore
On 4-Sep-09, at 2:05 PM, "Andreas Lund" <[email protected]> wrote:
Fri, 4 Sep 2009 12:03:11 -0400, Kartik Thakore <[email protected]
>
wrote:
That's fine add those constants to opengl/constants.pm
The constants are already there. After some more reading, here's
what I'm
doing at the moment:
# Opengl.xs:
SV *
glGetString( name )
GLenum name
CODE:
printf("glGetString(%d) = %s\n", (int) name, (char *)
glGetString(name));
RETVAL = newSVpv((char *) glGetString(name), 0);
OUTPUT:
RETVAL
# sdl-test:
#!/usr/bin/perl
use SDL;
use SDL::OpenGL;
print "Simple DirectMedia Layer (SDL) ".$SDL::VERSION."\n";
print "Driver: ".glGetString(GL_RENDERER)."\n"
if defined glGetString(GL_RENDERER);
print "Vendor: ".glGetString(GL_VENDOR)."\n"
if defined glGetString(GL_VENDOR);
print "OpenGL: ".glGetString(GL_VERSION)."\n"
if defined glGetString(GL_VERSION);
The output?
Simple DirectMedia Layer (SDL) 2.2.2.11
glGetString(7937) = (null)
glGetString(7936) = (null)
glGetString(7938) = (null)
As you can see, the constants GL_RENDERER, GL_VENDOR and GL_VERSION
are
properly defined, but the C functions do not return what I'm
expecting.
According to the OpenGL docs, the prototype is
const GLubyte * glGetString(GLenum name);
What am I missing here? I'm a bit unsure about the meaning of the
'const'
keyword, could this be the problem?
-
Andreas Lund ([email protected])
Tel: +47 90077162
#include <disclaimer.h>
"Look at you hacker, panting and sweating as you run through my
corridors.
How can you challenge a perfect immortal machine?" -- SHODAN, System
Shock