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

Method initializeGL

source/examples/qtexample/main.cpp:51–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49 }
50
51 virtual void initializeGL() override
52 {
53 globjects::init();
54
55 std::cout << std::endl
56 << "OpenGL Version: " << glbinding::ContextInfo::version() << std::endl
57 << "OpenGL Vendor: " << glbinding::ContextInfo::vendor() << std::endl
58 << "OpenGL Renderer: " << glbinding::ContextInfo::renderer() << std::endl << std::endl;
59
60 globjects::DebugMessage::enable();
61
62#ifdef __APPLE__
63 globjects::Shader::clearGlobalReplacements();
64 globjects::Shader::globalReplace("#version 140", "#version 150");
65
66 globjects::debug() << "Using global OS X shader replacement '#version 140' -> '#version 150'" << std::endl;
67#endif
68
69 m_cornerBuffer = new globjects::Buffer();
70 m_program = new globjects::Program();
71 m_vao = new globjects::VertexArray();
72
73 const auto dataPath = common::retrieveDataPath("globjects", "dataPath");
74 m_program->attach(
75 globjects::Shader::fromFile(GL_VERTEX_SHADER, dataPath + "qt-example/shader.vert"),
76 globjects::Shader::fromFile(GL_FRAGMENT_SHADER, dataPath + "qt-example/shader.frag"));
77
78 m_cornerBuffer->setData(std::array<glm::vec2, 4>{ {
79 glm::vec2(0, 0), glm::vec2(1, 0), glm::vec2(0, 1), glm::vec2(1, 1) } }, GL_STATIC_DRAW);
80
81 m_vao->binding(0)->setAttribute(0);
82 m_vao->binding(0)->setBuffer(m_cornerBuffer, 0, sizeof(glm::vec2));
83 m_vao->binding(0)->setFormat(2, GL_FLOAT);
84 m_vao->enable(0);
85 }
86
87 virtual void resizeGL(QResizeEvent * event) override
88 {

Callers

nothing calls this directly

Calls 13

initFunction · 0.85
versionFunction · 0.85
vendorFunction · 0.85
rendererFunction · 0.85
enableFunction · 0.85
debugFunction · 0.85
attachMethod · 0.80
setAttributeMethod · 0.80
bindingMethod · 0.80
setBufferMethod · 0.80
setDataMethod · 0.45
setFormatMethod · 0.45

Tested by

no test coverage detected