|
|
@ -79,6 +79,7 @@ |
|
|
|
|
|
|
|
#define PAR_SHAPES_IMPLEMENTATION |
|
|
|
#include "external/par_shapes.h" // Shapes 3d parametric generation |
|
|
|
#undef bool |
|
|
|
#endif |
|
|
|
|
|
|
|
#if defined(_WIN32) |
|
|
@ -3178,11 +3179,10 @@ RayCollision GetRayCollisionBox(Ray ray, BoundingBox box) |
|
|
|
collision.normal = Vector3Scale(collision.normal, 2.01f); |
|
|
|
collision.normal = Vector3Divide(collision.normal, Vector3Subtract(box.max, box.min)); |
|
|
|
// The relevant elemets of the vector are now slightly larger than 1.0f (or smaller than -1.0f) |
|
|
|
// and the others are somewhere between -1.0 and 1.0 |
|
|
|
// casting to int is exactly our wanted normal! |
|
|
|
collision.normal.x = (int)collision.normal.x; |
|
|
|
collision.normal.y = (int)collision.normal.y; |
|
|
|
collision.normal.z = (int)collision.normal.z; |
|
|
|
// and the others are somewhere between -1.0 and 1.0 casting to int is exactly our wanted normal! |
|
|
|
collision.normal.x = (float)((int)collision.normal.x); |
|
|
|
collision.normal.y = (float)((int)collision.normal.y); |
|
|
|
collision.normal.z = (float)((int)collision.normal.z); |
|
|
|
|
|
|
|
collision.normal = Vector3Normalize(collision.normal); |
|
|
|
|
|
|
@ -4992,7 +4992,7 @@ static ModelAnimation *LoadGLTFModelAnimations(const char *fileName, int *animCo |
|
|
|
{ |
|
|
|
output->framePoses[frame] = RL_MALLOC(output->boneCount*sizeof(Transform)); |
|
|
|
|
|
|
|
for (unsigned int i = 0; i < output->boneCount; i++) |
|
|
|
for (int i = 0; i < output->boneCount; i++) |
|
|
|
{ |
|
|
|
if (data->nodes[i].has_translation) memcpy(&output->framePoses[frame][i].translation, data->nodes[i].translation, 3*sizeof(float)); |
|
|
|
else output->framePoses[frame][i].translation = Vector3Zero(); |
|
|
@ -5185,7 +5185,7 @@ void LoadGLTFMesh(cgltf_data* data, cgltf_mesh* mesh, Model* outModel, Matrix cu |
|
|
|
outModel->meshes[(*primitiveIndex)].vertices = ReadGLTFValuesAs(acc, cgltf_component_type_r_32f, false); |
|
|
|
|
|
|
|
// Transform using the nodes matrix attributes |
|
|
|
for (unsigned int v = 0; v < outModel->meshes[(*primitiveIndex)].vertexCount; v++) |
|
|
|
for (int v = 0; v < outModel->meshes[(*primitiveIndex)].vertexCount; v++) |
|
|
|
{ |
|
|
|
Vector3 vertex = { |
|
|
|
outModel->meshes[(*primitiveIndex)].vertices[(v*3 + 0)], |
|
|
@ -5211,7 +5211,7 @@ void LoadGLTFMesh(cgltf_data* data, cgltf_mesh* mesh, Model* outModel, Matrix cu |
|
|
|
outModel->meshes[(*primitiveIndex)].normals = ReadGLTFValuesAs(acc, cgltf_component_type_r_32f, false); |
|
|
|
|
|
|
|
// Transform using the nodes matrix attributes |
|
|
|
for (unsigned int v = 0; v < outModel->meshes[(*primitiveIndex)].vertexCount; v++) |
|
|
|
for (int v = 0; v < outModel->meshes[(*primitiveIndex)].vertexCount; v++) |
|
|
|
{ |
|
|
|
Vector3 normal = { |
|
|
|
outModel->meshes[(*primitiveIndex)].normals[(v*3 + 0)], |
|
|
|