MCPcopy Create free account
hub / github.com/cginternals/globjects / initialize

Function initialize

source/examples/transformfeedback/main.cpp:52–121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

50}
51
52void initialize()
53{
54 g_shaderProgram = new globjects::Program();
55 g_shaderProgram->ref();
56
57 const auto dataPath = common::retrieveDataPath("globjects", "dataPath");
58 g_shaderProgram->attach(
59 globjects::Shader::fromFile(GL_VERTEX_SHADER, dataPath + "transformfeedback/simple.vert")
60 , globjects::Shader::fromFile(GL_FRAGMENT_SHADER, dataPath + "transformfeedback/simple.frag"));
61
62 g_transformFeedbackProgram = new globjects::Program();
63 g_transformFeedbackProgram->ref();
64 g_transformFeedbackProgram->attach(
65 globjects::Shader::fromFile(GL_VERTEX_SHADER, dataPath + "transformfeedback/transformfeedback.vert"));
66
67 g_transformFeedbackProgram->setUniform("deltaT", 0.0f);
68
69 g_shaderProgram->setUniform("modelView", glm::mat4());
70 g_shaderProgram->setUniform("projection", glm::ortho(-0.4f, 1.4f, -0.4f, 1.4f, 0.f, 1.f));
71
72
73 // Create and setup geometry
74 auto vertexArray = std::vector<glm::vec4>({
75 { 0, 0, 0, 1 }
76 , { 1, 0, 0, 1 }
77 , { 0, 1, 0, 1 }
78 , { 1, 0, 0, 1 }
79 , { 0, 1, 0, 1 }
80 , { 1, 1, 0, 1 } });
81
82 auto colorArray = std::vector<glm::vec4>({
83 { 1, 0, 0, 1 }
84 , { 1, 1, 0, 1 }
85 , { 0, 0, 1, 1 }
86 , { 1, 1, 0, 1 }
87 , { 0, 0, 1, 1 }
88 , { 0, 1, 0, 1 } });
89
90 g_vertexBuffer1 = new globjects::Buffer();
91 g_vertexBuffer1->ref();
92 g_vertexBuffer1->setData(vertexArray, GL_STATIC_DRAW);
93 g_vertexBuffer2 = new globjects::Buffer();
94 g_vertexBuffer2->ref();
95 g_vertexBuffer2->setData(vertexArray, GL_STATIC_DRAW);
96 g_colorBuffer = new globjects::Buffer();
97 g_colorBuffer->ref();
98 g_colorBuffer->setData(colorArray, GL_STATIC_DRAW);
99
100 g_vao = new globjects::VertexArray();
101 g_vao->ref();
102
103 g_vao->binding(0)->setAttribute(0);
104 g_vao->binding(0)->setFormat(4, GL_FLOAT);
105
106 g_vao->binding(1)->setAttribute(1);
107 g_vao->binding(1)->setBuffer(g_colorBuffer, 0, sizeof(glm::vec4));
108 g_vao->binding(1)->setFormat(4, GL_FLOAT);
109

Callers 1

mainFunction · 0.70

Calls 9

refMethod · 0.80
attachMethod · 0.80
setAttributeMethod · 0.80
bindingMethod · 0.80
setBufferMethod · 0.80
setVaryingsMethod · 0.80
setDataMethod · 0.45
setFormatMethod · 0.45
enableMethod · 0.45

Tested by

no test coverage detected