gramods
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
gramods::gmGraphics::SphereRenderer::Impl Struct Reference
Collaboration diagram for gramods::gmGraphics::SphereRenderer::Impl:
Collaboration graph
[legend]

Public Member Functions

void setup ()
 
std::string createFragmentCode ()
 
void render (const Camera &camera, const Eigen::Affine3f &Mm)
 
void getNearFar (const Camera &camera, const Eigen::Affine3f &Mm, float &near, float &far)
 
void teardown ()
 

Public Attributes

GLuint vertex_shader_id = 0
 
GLuint fragment_shader_id = 0
 
GLuint program_id = 0
 
GLuint vao_id = 0
 
GLuint vbo_id [2] = { 0, 0 }
 
GLuint vertex_count = 0
 
float radius = 10
 
std::shared_ptr< TextureInterfacetexture
 
std::shared_ptr< CoordinatesMappermapper
 
bool is_setup = false
 
bool is_functional = false
 

Static Public Attributes

static const std::string vertex_shader_code
 
static const std::string fragment_template_code
 
static const std::string mapper_pattern = "MAPPER;"
 

Member Data Documentation

◆ fragment_template_code

const std::string gramods::gmGraphics::SphereRenderer::Impl::fragment_template_code
static
Initial value:
= R"lang=glsl(
#version 330 core
uniform sampler2D tex;
in vec3 tex_pos;
out vec4 fragColor;
MAPPER;
void main() {
vec2 v_uv;
bool good = mapTo2D(tex_pos, v_uv);
if (good)
fragColor = texture(tex, 0.5 + 0.5 * v_uv);
else
fragColor = vec4(0, 0, 0, 0);
}
)lang=glsl"

◆ vertex_shader_code

const std::string gramods::gmGraphics::SphereRenderer::Impl::vertex_shader_code
static
Initial value:
= R"lang=glsl(
#version 330 core
uniform mat4 Mp;
uniform mat4 Mv;
uniform mat4 Mm;
in vec4 vertex_position;
in vec3 tex_position;
out vec3 tex_pos;
void main() {
gl_Position = Mp * Mv * Mm * vertex_position;
tex_pos = tex_position;
}
)lang=glsl"

The documentation for this struct was generated from the following file: