12 #ifndef GLVIS_RENDERER_CORE_HPP
13 #define GLVIS_RENDERER_CORE_HPP
47 const static std::vector<std::string> unif_list;
49 std::unordered_map<std::string, GLuint> uniforms;
62 std::vector<VBOData> vbos;
64 bool compileShaders();
68 void drawDeviceBufferImpl(GLenum shape,
int count,
bool indexed);
71 const vector<ShaderXfbVertex>& verts);
73 const vector<ShaderXfbVertex>& verts);
79 vbos.emplace_back(VBOData{});
101 glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, feedback_vbo);
102 initializeShaderState(feedback_prgm);
103 glEnable(GL_RASTERIZER_DISCARD);
107 glDisable(GL_RASTERIZER_DISCARD);
108 initializeShaderState(default_prgm);
109 glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, 0);
113 glDisable(GL_RASTERIZER_DISCARD);
114 initializeShaderState(prog);
115 glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, 0);
122 #endif // GLVIS_RENDERER_CORE_HPP
void setClipPlaneEqn(const std::array< double, 4 > &eqn) override
void drawDeviceBuffer(int hnd) override
void setNumLights(int i) override
void setClipPlaneUse(bool enable) override
void bindExternalProgram(const ShaderProgram &prog)
void captureXfbBuffer(PaletteState &pal, CaptureBuffer &cbuf, int hnd) override
void bufferToDevice(array_layout layout, IVertexBuffer &buf) override
void setPointLight(int i, Light lt) override
DeviceType getType() override
void exitXfbMode() override
void setTransformMatrices(glm::mat4 model_view, glm::mat4 projection) override
void setAmbientLight(const std::array< float, 4 > &amb) override
void setMaterial(Material mat) override
void initXfbMode() override