Example #1
0
void RenderJulia(float time)
{
    // draw
    paramA = cos(time + 0.5f);
    paramB = sin(time);
    paramC = 0.0f;
    color  = Vector4f(fabs(paramA) + 0.2f, fabs(paramB) + 0.2f, fabs(paramC) + 0.4f, 1.0);

    juliaProgram->Bind();
    {
        juliaColorUniform->Set(color);
        juliaUniformMVP->Set( Matrix4f::ortho(-1.0f, 1.0f, -1.0f, 1.0f, -1.0f, 1.0f)
                              * Matrix4f::scaling(sceneScale.x, sceneScale.y, 1.0f)
                              * Matrix4f::translation(cameraPos.x, cameraPos.y, 0.0f) );
        juliaUniformA->Set(paramA);
        juliaUniformB->Set(paramB);
        if (juliaUniformDensity) {
        	juliaUniformDensity->Set(density);
        }
        quadVBO->Bind( vertexLayout.get() );
        device->Draw(TRIANGLE_STRIP, 0, 4);
        quadVBO->Unbind();
        juliaProgram->Unbind();
    }
}