15 #include <vsg/app/CompileTraversal.h>
16 #include <vsg/maths/box.h>
17 #include <vsg/maths/sphere.h>
18 #include <vsg/utils/ShaderSet.h>
19 #include <vsg/utils/SharedObjects.h>
28 bool two_sided =
false;
29 bool blending =
false;
30 bool greyscale =
false;
32 bool instance_colors_vec4 =
true;
33 bool instance_positions_vec3 =
false;
34 bool billboard =
false;
53 vec3 position = {0.0f, 0.0f, 0.0f};
54 vec3 dx = {1.0f, 0.0f, 0.0f};
55 vec3 dy = {0.0f, 1.0f, 0.0f};
56 vec3 dz = {0.0f, 0.0f, 1.0f};
57 vec4 color = {1.0f, 1.0f, 1.0f, 1.0f};
63 position = (bb.min + bb.max) * 0.5f;
64 dx.set(bb.max.x - bb.min.x, 0.0f, 0.0f);
65 dy.set(0.0f, bb.max.y - bb.min.y, 0.0f);
66 dz.set(0.0f, 0.0f, bb.max.z - bb.min.z);
73 dx.set(sp.radius * 2.0f, 0.0f, 0.0f);
74 dy.set(0.0f, sp.radius * 2.0f, 0.0f);
75 dz.set(0.0f, 0.0f, sp.radius * 2.0f);
84 int result = compare_region(position, transform, rhs.position);
85 if (result)
return result < 0;
88 return compare_pointer(colors, rhs.colors) < 0;
126 using GeometryMap = std::map<GeometryInfo, ref_ptr<Node>>;
128 GeometryMap _capsules;
130 GeometryMap _cylinders;
132 GeometryMap _spheres;
133 GeometryMap _heightfields;
void assignCompileTraversal(ref_ptr< CompileTraversal > ct)
assign compile traversal to enable compilation.
GeometryInfo struct provides geometry related settings supported by Builder.
Definition: Builder.h:44
ref_ptr< Data > positions
when using geometry instancing use vec3Array with vec3{x,y,z} and for billboard use vec4Array with ve...
Definition: Builder.h:79
StateInfo struct provides state related settings supported by Builder.
Definition: Builder.h:26
bool wireframe
greyscale image
Definition: Builder.h:31
t_box template class that represent a axis aligned bounding box
Definition: box.h:24
template sphere class
Definition: sphere.h:34