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

Function initialize

source/examples/states/main.cpp:50–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48
49
50void initialize()
51{
52 // Initialize OpenGL objects
53 g_defaultPointSizeState = new globjects::State();
54 g_defaultPointSizeState->ref();
55 g_defaultPointSizeState->pointSize(globjects::getFloat(GL_POINT_SIZE));
56 g_thinnestPointSizeState = new globjects::State();
57 g_thinnestPointSizeState->ref();
58 g_thinnestPointSizeState->pointSize(2.0f);
59 g_thinPointSizeState = new globjects::State();
60 g_thinPointSizeState->ref();
61 g_thinPointSizeState->pointSize(5.0f);
62 g_normalPointSizeState = new globjects::State();
63 g_normalPointSizeState->ref();
64 g_normalPointSizeState->pointSize(10.0f);
65 g_thickPointSizeState = new globjects::State();
66 g_thickPointSizeState->ref();
67 g_thickPointSizeState->pointSize(20.0f);
68 g_disableRasterizerState = new globjects::State();
69 g_disableRasterizerState->ref();
70 g_disableRasterizerState->enable(GL_RASTERIZER_DISCARD);
71 g_enableRasterizerState = new globjects::State();
72 g_enableRasterizerState->ref();
73 g_enableRasterizerState->disable(GL_RASTERIZER_DISCARD);
74
75 g_vao = new globjects::VertexArray();
76 g_vao->ref();
77 g_buffer = new globjects::Buffer();
78 g_buffer->ref();
79
80 g_shaderProgram = new globjects::Program();
81 g_shaderProgram->ref();
82
83 const auto dataPath = common::retrieveDataPath("globjects", "dataPath");
84 g_shaderProgram->attach(
85 globjects::Shader::fromFile(GL_VERTEX_SHADER, dataPath + "states/standard.vert")
86 , globjects::Shader::fromFile(GL_FRAGMENT_SHADER, dataPath + "states/standard.frag"));
87
88 static auto data = std::vector<glm::vec2>();
89 if (data.empty())
90 {
91 for (auto y = 0.8f; y > -1.f; y -= 0.2f)
92 for (auto x = -0.8f; x < 1.f; x += 0.4f)
93 data.push_back(glm::vec2(x, y));
94 }
95 g_buffer->setData(data, GL_STATIC_DRAW );
96
97 g_vao->binding(0)->setAttribute(0);
98 g_vao->binding(0)->setBuffer(g_buffer, 0, sizeof(glm::vec2));
99 g_vao->binding(0)->setFormat(2, GL_FLOAT);
100 g_vao->enable(0);
101}
102
103void deinitialize()
104{

Callers 1

mainFunction · 0.70

Calls 11

getFloatFunction · 0.85
refMethod · 0.80
pointSizeMethod · 0.80
attachMethod · 0.80
setAttributeMethod · 0.80
bindingMethod · 0.80
setBufferMethod · 0.80
enableMethod · 0.45
disableMethod · 0.45
setDataMethod · 0.45
setFormatMethod · 0.45

Tested by

no test coverage detected