15#ifndef GPUDISPLAYBACKENDOPENGL_H
16#define GPUDISPLAYBACKENDOPENGL_H
58 void prepareDraw(
const hmm_mat4& proj,
const hmm_mat4& view,
bool requestScreenshot,
bool toMixBuffer,
float includeMixImage)
override;
62 void finishDraw(
bool doScreenshot,
bool toMixBuffer,
float includeMixImage)
override;
63 void finishFrame(
bool doScreenshot,
bool toMixBuffer,
float includeMixImage)
override;
72 void addFontSymbol(int32_t symbol, int32_t sizex, int32_t sizey, int32_t offsetx, int32_t offsety, int32_t advance,
void*
data)
override;
void setFrameBuffer(uint32_t newID=0)
void lineWidthFactor(float factor) override
void clearScreen(bool alphaOnly=false)
void resizeScene(uint32_t width, uint32_t height) override
GPUDisplayBackendOpenGL()
void loadDataToGPU(size_t totalVertizes) override
uint32_t mShaderProgramField
void setQuality() override
GLfb mOffscreenBufferMSAA
uint32_t mSPIRVModelViewBuffer
void prepareDraw(const hmm_mat4 &proj, const hmm_mat4 &view, bool requestScreenshot, bool toMixBuffer, float includeMixImage) override
void OpenGLPrint(const char *s, float x, float y, float *color, float scale) override
void finishDraw(bool doScreenshot, bool toMixBuffer, float includeMixImage) override
uint32_t drawField() override
~GPUDisplayBackendOpenGL() override=default
uint32_t mShaderProgramTexture
uint32_t drawVertices(const vboList &v, const drawType t) override
uint32_t mSolenoidParameterizationBuffer
int32_t InitBackendA() override
uint32_t mFragmentShaderText
static int32_t checkProgramStatus(uint32_t program)
void createFB(GLfb &fb, bool tex, bool withDepth, bool msaa, uint32_t width, uint32_t height)
int32_t ExtInit() override
void pointSizeFactor(float factor) override
void prepareText() override
bool CoreProfile() override
static int32_t checkShaderStatus(uint32_t shader)
void initializeTextDrawing() override
void ExitMagFieldVisualization()
int32_t mModelViewProjIdText
void ClearOffscreenBuffers()
uint32_t mShaderProgramText
std::vector< uint32_t > mVBOId
uint32_t DepthBits() override
uint32_t mVertexShaderTexture
uint32_t mDipoleSegmentsBuffer
size_t needMultiVBO() override
void mixImages(float mixSlaveImage)
uint32_t mVertexShaderPassthrough
void finishText() override
std::vector< FontSymbolOpenGL > mFontSymbols
void updateRenderer(bool withScreenshot)
int32_t InitMagFieldVisualization()
uint32_t mDipoleParameterizationBuffer
uint32_t mFragmentShaderTexture
uint32_t mFieldModelViewBuffer
void finishFrame(bool doScreenshot, bool toMixBuffer, float includeMixImage) override
void addFontSymbol(int32_t symbol, int32_t sizex, int32_t sizey, int32_t offsetx, int32_t offsety, int32_t advance, void *data) override
void ActivateColor(std::array< float, 4 > &color) override
uint32_t mSPIRVColorBuffer
int32_t mModelViewProjIdTexture
void setDepthBuffer() override
uint32_t mFieldModelConstantsBuffer
void ExitBackendA() override
uint32_t mSolenoidSegmentsBuffer
std::tuple< uint32_t, uint32_t, int32_t > vboList
GLbitfield GLuint program
GLint GLsizei GLsizei height
GLint GLint GLsizei GLsizei GLsizei depth