Initial commit
This commit is contained in:
118
application/source/engine/renderPasses/renderPassTesselation.c
Normal file
118
application/source/engine/renderPasses/renderPassTesselation.c
Normal file
@@ -0,0 +1,118 @@
|
||||
|
||||
|
||||
#include "renderPass.h"
|
||||
|
||||
#include "../event.h"
|
||||
|
||||
#include "../vector2.h"
|
||||
|
||||
#include "../shader.h"
|
||||
|
||||
#include "int.h"
|
||||
|
||||
#include "../fontRenderer.h"
|
||||
|
||||
#include "../program.h"
|
||||
|
||||
#include "../mesh.h"
|
||||
|
||||
class tesselation extends renderPass{
|
||||
|
||||
|
||||
struct program * program;
|
||||
|
||||
struct mesh * mesh;
|
||||
|
||||
fontRenderer * font = new fontRenderer();
|
||||
|
||||
sampler2D * samplerArray;
|
||||
|
||||
char * textFromNumber( int i) {
|
||||
|
||||
char * fileName = malloc( sizeof( char ) * 100 );
|
||||
|
||||
sprintf( fileName, "%d", i );
|
||||
|
||||
return fileName;
|
||||
|
||||
}
|
||||
|
||||
prepare() {
|
||||
|
||||
shader * vertexShader = new shader( GL_VERTEX_SHADER );
|
||||
|
||||
vertexShader->loadFromFile( "assets/shaders/quadScale.vertex" );
|
||||
|
||||
|
||||
shader * fragmentShader = new shader( GL_FRAGMENT_SHADER );
|
||||
|
||||
fragmentShader->loadFromFile( "assets/shaders/color.fragment" );
|
||||
|
||||
|
||||
shader * geometryShader = new shader( GL_GEOMETRY_SHADER );
|
||||
|
||||
geometryShader->loadFromFile( "assets/shaders/tesselation.geometry.shader" );
|
||||
|
||||
|
||||
shader * tesselationControlShader = new shader( GL_TESS_CONTROL_SHADER );
|
||||
|
||||
tesselationControlShader->loadFromFile( "assets/shaders/tesselation.triangle.tsc.shader" );
|
||||
|
||||
|
||||
shader * tesselationEvaluationShader = new shader( GL_TESS_EVALUATION_SHADER );
|
||||
|
||||
tesselationEvaluationShader->loadFromFile( "assets/shaders/tesselation.triangle.shader" );
|
||||
|
||||
|
||||
|
||||
this->program = new program();
|
||||
|
||||
this->program->addShader( vertexShader );
|
||||
|
||||
this->program->addShader( fragmentShader );/*
|
||||
|
||||
this->program->addShader( geometryShader );
|
||||
|
||||
this->program->addShader( tesselationControlShader );
|
||||
|
||||
this->program->addShader( tesselationEvaluationShader );*/
|
||||
|
||||
|
||||
|
||||
this->program->create();
|
||||
|
||||
|
||||
|
||||
|
||||
this->mesh = new mesh();
|
||||
|
||||
this->mesh->setProgram( this->program );
|
||||
|
||||
this->mesh->createBuffers();
|
||||
|
||||
|
||||
glUseProgram( this->program->glProgram );
|
||||
|
||||
|
||||
}
|
||||
|
||||
render() {
|
||||
|
||||
glUseProgram( this->program->glProgram );
|
||||
|
||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
||||
|
||||
int numItems = 12;
|
||||
|
||||
//this->program->setUniform( "samplerArray", this->samplerArray );
|
||||
|
||||
glBindVertexArray( this->mesh->vertexArrayObject );
|
||||
|
||||
|
||||
|
||||
|
||||
glDrawElements( GL_LINE_STRIP, numItems, GL_UNSIGNED_INT, ( void * ) 0 );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user