23#ifndef VCL_BGFX_DRAWABLE_UNIFORMS_DIRECTIONAL_LIGHT_UNIFORMS_H
24#define VCL_BGFX_DRAWABLE_UNIFORMS_DIRECTIONAL_LIGHT_UNIFORMS_H
26#include <vclib/bgfx/uniform.h>
27#include <vclib/render/viewer/lights/directional_light.h>
54 inline static std::array<float, 4> sDir = {0.0, 0.0, 1.0, 0.0};
57 inline static std::array<float, 4> sCol = {1.0, 1.0, 1.0, 1.0};
59 inline static Uniform sLightDirUniform;
60 inline static Uniform sLightColorUniform;
72 sDir[0] = light.direction().x();
73 sDir[1] = light.direction().y();
74 sDir[2] = light.direction().z();
76 sCol[0] = light.color().redF();
77 sCol[1] = light.color().greenF();
78 sCol[2] = light.color().blueF();
86 if (!sLightDirUniform.
isValid())
88 Uniform(
"u_lightDirPack", bgfx::UniformType::Vec4);
89 if (!sLightColorUniform.
isValid())
91 Uniform(
"u_lightColorPack", bgfx::UniformType::Vec4);
92 sLightDirUniform.
bind(sDir.data());
93 sLightColorUniform.
bind(sCol.data());
A class representing a line segment in n-dimensional space. The class is parameterized by a PointConc...
Definition segment.h:41