cgv
normal_renderer.h
1
#pragma once
2
3
#include "line_renderer.h"
4
5
#include "gl/lib_begin.h"
6
7
namespace
cgv
{
8
namespace
render {
9
class
CGV_API normal_renderer;
10
12
15
extern
CGV_API normal_renderer&
ref_normal_renderer
(context& ctx,
int
ref_count_change = 0);
16
17
18
struct
CGV_API normal_render_style :
public
line_render_style
19
{
20
float
normal_length;
21
normal_render_style();
22
};
23
25
class
CGV_API
normal_renderer
:
public
line_renderer
26
{
27
protected
:
29
float
normal_scale
;
31
render_style
* create_render_style()
const
;
32
bool
validate_attributes(
const
context
& ctx)
const
;
33
public
:
34
normal_renderer
();
36
void
set_normal_scale(
float
_normal_scale);
37
bool
init(
context
& ctx);
38
bool
enable(
context
& ctx);
40
void
draw(
context
& ctx,
size_t
start,
size_t
count,
41
bool
use_strips =
false
,
bool
use_adjacency =
false
, uint32_t strip_restart_index = -1);
42
};
43
44
struct
CGV_API normal_render_style_reflect :
public
normal_render_style
45
{
46
bool
self_reflect(
cgv::reflect::reflection_handler
& rh);
47
};
48
extern
CGV_API
cgv::reflect::extern_reflection_traits<normal_render_style, normal_render_style_reflect>
get_reflection_traits(
const
cgv::render::normal_render_style&);
49
}
50
}
51
52
#include <cgv/config/lib_end.h>
cgv::render::render_style
base class for all render styles
Definition:
renderer.h:16
cgv::render::line_renderer
renderer that supports point splatting
Definition:
line_renderer.h:62
cgv::render::normal_renderer::normal_scale
float normal_scale
scaling of normal length
Definition:
normal_renderer.h:29
cgv::render::normal_renderer
renderer that supports rendering point normals
Definition:
normal_renderer.h:26
cgv::reflect::reflection_handler
Definition:
reflection_handler.h:63
cgv::render::ref_normal_renderer
normal_renderer & ref_normal_renderer(context &ctx, int ref_count_change)
reference to a singleton normal renderer that can be shared among drawables
Definition:
normal_renderer.cxx:7
cgv::reflect::extern_reflection_traits
this reflection traits implementation is used for external self_reflect implementations of instances ...
Definition:
reflect_extern.h:28
cgv
the cgv namespace
Definition:
vr_calib.cxx:9
cgv::render::context
Definition:
context.h:525
projects
git
cgv
libs
cgv_gl
normal_renderer.h
Generated by
1.8.18