@@ -1,12 +1,14 @@ | |||||
// | // | ||||
// EasyMesh-Csg: The code belonging to CSG operations | // EasyMesh-Csg: The code belonging to CSG operations | ||||
// | // | ||||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | ||||
// (c) 2010-2013 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | // © 2010—2015 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | ||||
// This program is free software; you can redistribute it and/or | // | ||||
// modify it under the terms of the Do What The Fuck You Want To | // Lol Engine is free software. It comes without any warranty, to | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // the extent permitted by applicable law. You can redistribute it | ||||
// http://www.wtfpl.net/ for more details. | // and/or modify it under the terms of the Do What the Fuck You Want | ||||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||||
// See http://www.wtfpl.net/ for more details. | |||||
// | // | ||||
#include <lol/engine-internal.h> | #include <lol/engine-internal.h> | ||||
@@ -507,7 +509,9 @@ int CsgBsp::TestTriangleToTree(vec3 const &tri_p0, vec3 const &tri_p1, vec3 cons | |||||
int k = 0; | int k = 0; | ||||
if (res_nb[LEAF_BACK] && res_nb[LEAF_FRONT]) | if (res_nb[LEAF_BACK] && res_nb[LEAF_FRONT]) | ||||
{ | { | ||||
#if 0 | |||||
res_total = res_total; | res_total = res_total; | ||||
#endif | |||||
tri_list[i].m1 = LEAF_BACK; | tri_list[i].m1 = LEAF_BACK; | ||||
#if 0 | #if 0 | ||||
tri_to_process.push( array< int >(), tri_list[i].m2, tri_list[i].m3, tri_list[i].m4, 0); | tri_to_process.push( array< int >(), tri_list[i].m2, tri_list[i].m3, tri_list[i].m4, 0); | ||||
@@ -1,13 +1,15 @@ | |||||
// | // | ||||
// EasyMesh-Csg: The code belonging to CSG operations | // EasyMesh-Csg: The code belonging to CSG operations | ||||
// | // | ||||
// Copyright: (c) 2010-2015 Sam Hocevar <sam@hocevar.net> | // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | ||||
// (c) 2009-2015 Cédric Lecacheur <jordx@free.fr> | // © 2009—2015 Cédric Lecacheur <jordx@free.fr> | ||||
// (c) 2009-2015 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | // © 2009—2015 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | ||||
// This program is free software; you can redistribute it and/or | // | ||||
// modify it under the terms of the Do What The Fuck You Want To | // Lol Engine is free software. It comes without any warranty, to | ||||
// Public License, Version 2, as published by Sam Hocevar. See | // the extent permitted by applicable law. You can redistribute it | ||||
// http://www.wtfpl.net/ for more details. | // and/or modify it under the terms of the Do What the Fuck You Want | ||||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||||
// See http://www.wtfpl.net/ for more details. | |||||
// | // | ||||
#include <lol/engine-internal.h> | #include <lol/engine-internal.h> | ||||
@@ -179,9 +181,10 @@ void EasyMesh::MeshCsg(CSGUsage csg_operation) | |||||
} | } | ||||
} | } | ||||
for (int i = 0; i < m_vert.count(); i++) | // FIXME: what was this code for? | ||||
if (length(m_vert[i].m_normal) < 1.0f) | // for (int i = 0; i < m_vert.count(); i++) | ||||
i = i; | // if (length(m_vert[i].m_normal) < 1.0f) | ||||
// i = i; | |||||
int dir = 1; | int dir = 1; | ||||
for (int i = 0; i >= 0 && i < triangle_to_kill.count() - 1; i += dir) | for (int i = 0; i >= 0 && i < triangle_to_kill.count() - 1; i += dir) | ||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright © 2010—2017 Sam Hocevar <sam@hocevar.net> | // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | ||||
// | // | ||||
// Lol Engine is free software. It comes without any warranty, to | // Lol Engine is free software. It comes without any warranty, to | ||||
// the extent permitted by applicable law. You can redistribute it | // the extent permitted by applicable law. You can redistribute it | ||||
@@ -253,7 +253,7 @@ void VertexDeclaration::SetStream(VertexBuffer *vb, ShaderAttrib attribs[]) | |||||
|| tlut[type_index].type == GL_DOUBLE | || tlut[type_index].type == GL_DOUBLE | ||||
|| tlut[type_index].type == GL_BYTE | || tlut[type_index].type == GL_BYTE | ||||
|| tlut[type_index].type == GL_UNSIGNED_BYTE | || tlut[type_index].type == GL_UNSIGNED_BYTE | ||||
#if defined LOL_USE_GLEW && !defined __APPLE__ | #if defined LOL_USE_GLEW && defined glVertexAttribIPointer && !defined __APPLE__ | ||||
/* If this is not available, don't use it */ | /* If this is not available, don't use it */ | ||||
|| !glVertexAttribIPointer | || !glVertexAttribIPointer | ||||
#endif | #endif | ||||
@@ -267,7 +267,7 @@ void VertexDeclaration::SetStream(VertexBuffer *vb, ShaderAttrib attribs[]) | |||||
tlut[type_index].type, normalize, | tlut[type_index].type, normalize, | ||||
stride, (GLvoid const *)(uintptr_t)offset); | stride, (GLvoid const *)(uintptr_t)offset); | ||||
} | } | ||||
#if defined GL_VERSION_3_0 | #if defined GL_VERSION_3_0 && !(defined LOL_USE_GLEW && !defined glVertexAttribIPointer) | ||||
else | else | ||||
{ | { | ||||
glVertexAttribIPointer((GLint)reg, tlut[type_index].size, | glVertexAttribIPointer((GLint)reg, tlut[type_index].size, | ||||
@@ -1,7 +1,7 @@ | |||||
// | // | ||||
// Lol Engine | // Lol Engine | ||||
// | // | ||||
// Copyright © 2010—2018 Sam Hocevar <sam@hocevar.net> | // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | ||||
// | // | ||||
// Lol Engine is free software. It comes without any warranty, to | // Lol Engine is free software. It comes without any warranty, to | ||||
// the extent permitted by applicable law. You can redistribute it | // the extent permitted by applicable law. You can redistribute it | ||||
@@ -274,7 +274,7 @@ struct ShaderUniform | |||||
public: | public: | ||||
inline ShaderUniform() : flags(0) {} | inline ShaderUniform() : flags(0) {} | ||||
private: | protected: | ||||
uintptr_t frag, vert; | uintptr_t frag, vert; | ||||
/* FIXME: do we really need this to indicate which locations are valid? */ | /* FIXME: do we really need this to indicate which locations are valid? */ | ||||
uint32_t flags; | uint32_t flags; | ||||
@@ -56,7 +56,7 @@ static array<SceneDisplay*> m_scene_displays; | |||||
static inline void gpu_marker(char const *message) | static inline void gpu_marker(char const *message) | ||||
{ | { | ||||
#if LOL_USE_GLEW | #if LOL_USE_GLEW && defined glStringMarkerGREMEDY | ||||
if (GLEW_GREMEDY_string_marker) | if (GLEW_GREMEDY_string_marker) | ||||
glStringMarkerGREMEDY(0, message); | glStringMarkerGREMEDY(0, message); | ||||
#else | #else | ||||