more work on initialization

This commit is contained in:
aap
2016-06-25 23:14:18 +02:00
parent a906d58bcb
commit dd901ebfa3
14 changed files with 132 additions and 80 deletions

View File

@@ -24,10 +24,15 @@ namespace gl3 {
void
initializePlatform(void)
{
registerNativeRaster();
#ifdef RW_OPENGL
driver[PLATFORM_GL3].defaultPipeline = makeDefaultPipeline();
matFXGlobals.pipelines[PLATFORM_GL3] = makeMatFXPipeline();
skinGlobals.pipelines[PLATFORM_GL3] = makeSkinPipeline();
// uniforms need to be registered before any shaders are created
registerBlock("Scene");
registerBlock("Object");
registerUniform("u_matColor");
registerUniform("u_surfaceProps");
#endif
initializeRender();

View File

@@ -113,7 +113,7 @@ copyNativeRaster(void *dst, void *, int32 offset, int32)
}
static void*
nativeOpen(void*, int32 offset, int32)
nativeOpen(void*, int32, int32)
{
driver[PLATFORM_GL3].rasterNativeOffset = nativeRasterOffset;
driver[PLATFORM_GL3].rasterCreate = rasterCreate;
@@ -124,16 +124,16 @@ nativeOpen(void*, int32 offset, int32)
}
static void*
nativeClose(void*, int32 offset, int32)
nativeClose(void*, int32, int32)
{
printf("native close\n");
printf("gl3 native close\n");
}
void registerNativeRaster(void)
{
Engine::registerPlugin(0, 0x1234, nativeOpen, nativeClose);
Engine::registerPlugin(0, ID_RASTERGL3, nativeOpen, nativeClose);
nativeRasterOffset = Raster::registerPlugin(sizeof(Gl3Raster),
0x12340000 | PLATFORM_GL3,
ID_RASTERGL3,
createNativeRaster,
destroyNativeRaster,
copyNativeRaster);

View File

@@ -125,11 +125,6 @@ initializeRender(void)
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
registerBlock("Scene");
registerBlock("Object");
registerUniform("u_matColor");
registerUniform("u_surfaceProps");
glGenBuffers(1, &ubo_scene);
glBindBuffer(GL_UNIFORM_BUFFER, ubo_scene);
glBindBufferBase(GL_UNIFORM_BUFFER, gl3::findBlock("Scene"), ubo_scene);

View File

@@ -716,7 +716,7 @@ void
registerNativeRaster(void)
{
nativeRasterOffset = Raster::registerPlugin(sizeof(GlRaster),
0x12340000 | PLATFORM_WDGL,
ID_RASTERWDGL,
createNativeRaster,
destroyNativeRaster,
copyNativeRaster);