50 inline float GPUCommand::convert_int_to_float(
int v)
const {
52 #if !PACK_INT_AS_FLOAT 57 assert(
sizeof(
float) == 4);
61 union { int32_t _int;
float _float; } converter = { (int32_t)v };
62 return converter._float;
76 if (_current_index >= GPU_COMMAND_ENTRIES) {
77 gpucommand_cat.error() <<
"Out of bounds! Exceeded command size of " << GPU_COMMAND_ENTRIES << std::endl;
80 _data[_current_index++] = v;
151 for (
size_t i = 0; i < 3; ++i) {
152 for (
size_t j = 0; j < 3; ++j) {
167 for (
size_t i = 0; i < 4; ++i) {
168 for (
size_t j = 0; j < 4; ++j) {
184 return PACK_INT_AS_FLOAT;
static bool get_uses_integer_packing()
Returns whether integers are packed as floats.
void push_vec4(const LVecBase4 &v)
Appends a 4-component floating point vector to the GPUCommand.
void push_float(float v)
Appends a float to the GPUCommand.
void push_mat4(const LMatrix4 &v)
Appends a floating point 4x4 matrix to the GPUCommand.
void push_mat3(const LMatrix3 &v)
Appends a floating point 3x3 matrix to the GPUCommand.
void push_vec3(const LVecBase3 &v)
Appends a 3-component floating point vector to the GPUCommand.
void push_int(int v)
RenderPipeline.