25 CGV_RDB_TRANSFER_ARRAY(normal,
normals);
26 CGV_RDB_TRANSFER_ARRAY(texcoord,
texcoords);
44 void add_normal(
const cgv::vec3& normal) {
48 void add_texcoord(
const cgv::vec2& texcoord) {
52 void add_triangle(
const vec3& position0,
const vec3& position1,
const vec3& position2) {
53 super::add_position(position0);
54 super::add_position(position1);
55 super::add_position(position2);
58 void add_triangle_color(
const ColorType& color) {
59 super::add_color(color);
60 super::add_color(color);
61 super::add_color(color);
64 void add_triangle_colors(
const ColorType& color0,
const ColorType& color1,
const ColorType& color2) {
65 super::add_color(color0);
66 super::add_color(color1);
67 super::add_color(color2);
70 void add_triangle_normal(
const vec3& normal) {
76 void add_triangle_normals(
const vec3& normal0,
const vec3& normal1,
const vec3& normal2) {
82 void add_triangle_texcoord(
const vec2& texcoord) {
83 add_texcoord(texcoord);
84 add_texcoord(texcoord);
85 add_texcoord(texcoord);
88 void add_triangle_texcoords(
const vec2& texcoord0,
const vec2& texcoord1,
const vec2& texcoord2) {
89 add_texcoord(texcoord0);
90 add_texcoord(texcoord1);
91 add_texcoord(texcoord2);
98 super::add_position(position);
102 void add(
const vec3& position,
const ColorType& color,
const cgv::vec3& normal) {
103 super::add(position, color);
107 void add(
const vec3& position,
const ColorType& color,
const cgv::vec2& texcoord) {
108 super::add(position, color);
109 add_texcoord(texcoord);
112 void fill_normals(
const cgv::vec3& normal) {
116 void fill_texcoords(
const cgv::vec2& texcoord) {
base class for all drawables, which is independent of the used rendering API.