Jae686
April 27th, 2010, 12:36
Basically i get a black window on lxdream and on the dreamcast. Although the examples work when used with KGL-X, my code (witch works on the PC) does not.
Any pointers? (Am I missing some initialization?).
#include <kos.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include "datatypes.h"
#include "fileio.h"
#include "texture_loader.h"
// I HATE GLOBAL VARS
float angle = 0.0 ;
char filename[255];
pmesh data;
ptexture texture_data;
KOS_INIT_FLAGS(INIT_DEFAULT | INIT_MALLOCSTATS);
extern uint8 romdisk[];
KOS_INIT_ROMDISK(romdisk);
void check_uv(pmesh data)
{
printf(" Vertex Count, %d\n", data->uv_count);
printf("\n");
int i;
for(i=0 ; i < data->uv_count ; i = i+2)
{
printf(" vertex data - u: %f, v: %f \n Vertex_count = %d, i = %d \n", data->uv_data[i], data->uv_data[i+1], data->uv_count, i);
}
}
void dreamcast_gl_init()
{
glKosInit();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, 640.0f / 480.0f, 0.1f, 100.0f);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
glClearDepth(1.0f);
glEnable (GL_DEPTH_TEST);
glEnable ( GL_COLOR_MATERIAL );
glEnable ( GL_TEXTURE_2D );
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glDepthFunc(GL_LEQUAL);
glShadeModel(GL_SMOOTH);
glMatrixMode(GL_MODELVIEW);
}
void display_vertex_arrays()
{
glKosBeginFrame();
glLoadIdentity();
//glTranslatef(0.0, 0.0, -5.0);
glClearColor(0.3, 0.3, 0.3, 0.3);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_CULL_FACE);
glTranslatef(0.0, 0.0, -12.0);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, (void*)data->vertex_data );
glNormalPointer(GL_FLOAT, 0, (void*)data->vertex_normal);
glTexCoordPointer(2, GL_FLOAT, 0, (void*)data->uv_data);
glRotatef(angle , 3.0, 1.0, 1.0);
glDrawElements(GL_TRIANGLES, data->indices_count ,GL_UNSIGNED_INT ,(void *) data->vertex_indices);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
angle = angle + 0.014;
glKosFinishFrame();
}
void key_events()
{
// press ANY key to exit!
exit(0);
}
int main(int argc, char* argv[])
{
/
void dreamcast_gl_init();
strcpy(filename, argv[1]);
data = load_from_custom_3d("/rd/cubo.vie3d");
fflush(stdout);
printf("\n Loading texture \n");
texture_data = load_from_png("/rd/checkerboard.png");
int texture_name = 0;
glGenTextures(1, &texture_name);
if(texture_name == 0)
{
printf("texture name == 0\n");
}
glBindTexture(GL_TEXTURE_2D, texture_name);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGB8, texture_data->width, texture_data->height,GL_RGBA, GL_UNSIGNED_BYTE, texture_data->pixels);
glPixelStorei(GL_PACK_ALIGNMENT, 2);
glPixelStorei(GL_UNPACK_ALIGNMENT,2);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTE R,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTE R,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL _REPEAT);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL _REPEAT);
while(1)
{
display_vertex_arrays();
}
return 0;
}
Best Regards
P.S. I dont use the [CODE] tags because the mess up the formatting on my browser..
Any pointers? (Am I missing some initialization?).
#include <kos.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include "datatypes.h"
#include "fileio.h"
#include "texture_loader.h"
// I HATE GLOBAL VARS
float angle = 0.0 ;
char filename[255];
pmesh data;
ptexture texture_data;
KOS_INIT_FLAGS(INIT_DEFAULT | INIT_MALLOCSTATS);
extern uint8 romdisk[];
KOS_INIT_ROMDISK(romdisk);
void check_uv(pmesh data)
{
printf(" Vertex Count, %d\n", data->uv_count);
printf("\n");
int i;
for(i=0 ; i < data->uv_count ; i = i+2)
{
printf(" vertex data - u: %f, v: %f \n Vertex_count = %d, i = %d \n", data->uv_data[i], data->uv_data[i+1], data->uv_count, i);
}
}
void dreamcast_gl_init()
{
glKosInit();
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, 640.0f / 480.0f, 0.1f, 100.0f);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
glClearDepth(1.0f);
glEnable (GL_DEPTH_TEST);
glEnable ( GL_COLOR_MATERIAL );
glEnable ( GL_TEXTURE_2D );
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glDepthFunc(GL_LEQUAL);
glShadeModel(GL_SMOOTH);
glMatrixMode(GL_MODELVIEW);
}
void display_vertex_arrays()
{
glKosBeginFrame();
glLoadIdentity();
//glTranslatef(0.0, 0.0, -5.0);
glClearColor(0.3, 0.3, 0.3, 0.3);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_CULL_FACE);
glTranslatef(0.0, 0.0, -12.0);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, (void*)data->vertex_data );
glNormalPointer(GL_FLOAT, 0, (void*)data->vertex_normal);
glTexCoordPointer(2, GL_FLOAT, 0, (void*)data->uv_data);
glRotatef(angle , 3.0, 1.0, 1.0);
glDrawElements(GL_TRIANGLES, data->indices_count ,GL_UNSIGNED_INT ,(void *) data->vertex_indices);
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
angle = angle + 0.014;
glKosFinishFrame();
}
void key_events()
{
// press ANY key to exit!
exit(0);
}
int main(int argc, char* argv[])
{
/
void dreamcast_gl_init();
strcpy(filename, argv[1]);
data = load_from_custom_3d("/rd/cubo.vie3d");
fflush(stdout);
printf("\n Loading texture \n");
texture_data = load_from_png("/rd/checkerboard.png");
int texture_name = 0;
glGenTextures(1, &texture_name);
if(texture_name == 0)
{
printf("texture name == 0\n");
}
glBindTexture(GL_TEXTURE_2D, texture_name);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGB8, texture_data->width, texture_data->height,GL_RGBA, GL_UNSIGNED_BYTE, texture_data->pixels);
glPixelStorei(GL_PACK_ALIGNMENT, 2);
glPixelStorei(GL_UNPACK_ALIGNMENT,2);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTE R,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTE R,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL _REPEAT);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL _REPEAT);
while(1)
{
display_vertex_arrays();
}
return 0;
}
Best Regards
P.S. I dont use the [CODE] tags because the mess up the formatting on my browser..