void SpriteBatch::Initialize() { //Set Shader and shader variables #ifdef DESKTOP tstring vShader(_T("WinShaders/Texture_Batch_Shader.vert")), fShader(_T("WinShaders/Texture_Batch_Shader.frag")); #else tstring vShader(_T("AndroidShaders/BatchTexShader.vert")), fShader(_T("AndroidShaders/BatchTexShader.frag")); #endif if(!m_Shader.Init(vShader, fShader)) { Logger::GetInstance()->Log(star::LogLevel::Info, _T("Initialization of Spritebatch Shader has Failed!")); } }
void Scene::initializeGL() { glClearColor( 0.1f, 0.1f, 0.2f, 1.0f ); QOpenGLShader vShader( QOpenGLShader::Vertex ); vShader.compileSourceFile( ":/Shaders/vShader.glsl" ); QOpenGLShader fShader( QOpenGLShader::Fragment ); fShader.compileSourceFile( ":/Shaders/fShader.glsl" ); m_program.addShader( &vShader ); m_program.addShader( &fShader ); if ( !m_program.link() ) { qWarning( "Error: unable to link a shader program." ); return; } m_vertexAttr = m_program.attributeLocation( "vertexAttr" ); m_textureAttr = m_program.attributeLocation( "textureAttr" ); m_matrixUniform = m_program.uniformLocation( "matrix" ); m_textureUniform = m_program.uniformLocation( "textureUniform" ); m_triangle = new Triangle( &m_program, m_vertexAttr, m_textureAttr, m_textureUniform ); }
void MyWindow::initShaders() { QOpenGLShader vShader(QOpenGLShader::Vertex); QOpenGLShader fShader(QOpenGLShader::Fragment); QFile shaderFile; QByteArray shaderSource; //Simple ADS shaderFile.setFileName(":/vshader.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "vertex compile: " << vShader.compileSourceCode(shaderSource); shaderFile.setFileName(":/fshader.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "frag compile: " << fShader.compileSourceCode(shaderSource); mProgram = new (QOpenGLShaderProgram); mProgram->addShader(&vShader); mProgram->addShader(&fShader); qDebug() << "shader link: " << mProgram->link(); }
void BaseGLWidget::initializeGL(){ glClearColor(0.5f, 0.5f, 0.5f, 1.0f); //shaders link QOpenGLShader vShader(QOpenGLShader::Vertex); vShader.compileSourceFile(":/files/Shaders/vShader.glsl"); QOpenGLShader fShader(QOpenGLShader::Fragment); fShader.compileSourceFile(":/files/Shaders/fShader.glsl"); glClearDepth(1.0f); glDepthFunc(GL_LESS); glEnable(GL_DEPTH_TEST); shader_program.addShader(&vShader); shader_program.addShader(&fShader); if(!shader_program.link()){ qWarning("Can't link the shader program"); } vertexAttr = shader_program.attributeLocation("vertexAttr"); colorAttr = shader_program.attributeLocation("colorAttr"); matrixUniform = shader_program.uniformLocation("projection"); modelViewMatrix = shader_program.uniformLocation("modelView"); pen = new Draw(&shader_program, vertexAttr, colorAttr, modelViewMatrix); }
void MyWindow::initShaders() { QOpenGLShader vShader(QOpenGLShader::Vertex); QOpenGLShader fShader(QOpenGLShader::Fragment); QFile shaderFile; QByteArray shaderSource; //Simple ADS shaderFile.setFileName(":/vshader_ads.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "vertex simple ADS compile: " << vShader.compileSourceCode(shaderSource); shaderFile.setFileName(":/fshader_ads.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "frag simple ADS compile: " << fShader.compileSourceCode(shaderSource); mProgramSimpleADS = new (QOpenGLShaderProgram); mProgramSimpleADS->addShader(&vShader); mProgramSimpleADS->addShader(&fShader); qDebug() << "shader link tree: " << mProgramSimpleADS->link(); //2 sided ADS shaderFile.setFileName(":/vshader_2sides.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "vertex 2-sided compile: " << vShader.compileSourceCode(shaderSource); shaderFile.setFileName(":/fshader_2sides.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "frag 2-sided compile: " << fShader.compileSourceCode(shaderSource); mProgram2Sides = new (QOpenGLShaderProgram); mProgram2Sides->addShader(&vShader); mProgram2Sides->addShader(&fShader); qDebug() << "shader link 2-sided: " << mProgram2Sides->link(); }
// Program class Program::Program(const sf::String& vertex, const sf::String& fragment) : myIsLinked(false) { myProgram = glCreateProgram(); if (!vertex.IsEmpty()) { Shader vShader(Shader::VERTEX_SHADER, vertex); Attach(vShader); } if (!fragment.IsEmpty()) { Shader fShader(Shader::FRAGMENT_SHADER, fragment); Attach(fShader); } if (!fragment.IsEmpty() || !vertex.IsEmpty()) Link(); }
void scene::initializeGL() { glClearColor( 0.0f, 0.0f, 0.0f, 1.0f ); QOpenGLShader vShader( QOpenGLShader::Vertex ); vShader.compileSourceFile( ":/Shaders/vShader.glsl" ); QOpenGLShader fShader( QOpenGLShader::Fragment ); fShader.compileSourceFile( ":/Shaders/fShader.glsl" ); m_program.addShader( &vShader ); m_program.addShader( &fShader ); if ( !m_program.link() ) { qWarning( "Error: unable to link a shader program" ); return; } }
void MyWindow::initShaders() { QOpenGLShader vShader(QOpenGLShader::Vertex); QOpenGLShader fShader(QOpenGLShader::Fragment); QFile shaderFile; QByteArray shaderSource; // Shader color shaderFile.setFileName(":/vshader_col.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "vertex \"color\" compile: " << vShader.compileSourceCode(shaderSource); shaderFile.setFileName(":/fshader_col.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "frag \"color\" compile: " << fShader.compileSourceCode(shaderSource); mProgramCol = new (QOpenGLShaderProgram); mProgramCol->addShader(&vShader); mProgramCol->addShader(&fShader); qDebug() << "shader \"color\" link: " << mProgramCol->link(); // Shader normal shaderFile.setFileName(":/vshader_norm.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "vertex \"normal\" compile: " << vShader.compileSourceCode(shaderSource); shaderFile.setFileName(":/fshader_norm.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "frag \"normal\" compile: " << fShader.compileSourceCode(shaderSource); mProgramNorm = new (QOpenGLShaderProgram); mProgramNorm->addShader(&vShader); mProgramNorm->addShader(&fShader); qDebug() << "shader \"normal\" link: " << mProgramNorm->link(); // Shader texture shaderFile.setFileName(":/vshader_tex.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "vertex \"texture\" compile: " << vShader.compileSourceCode(shaderSource); shaderFile.setFileName(":/fshader_tex.txt"); shaderFile.open(QIODevice::ReadOnly); shaderSource = shaderFile.readAll(); shaderFile.close(); qDebug() << "frag \"texture\" compile: " << fShader.compileSourceCode(shaderSource); mProgramTex = new (QOpenGLShaderProgram); mProgramTex->addShader(&vShader); mProgramTex->addShader(&fShader); qDebug() << "shader \"texture\" link: " << mProgramTex->link(); }