| @@ -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> | |||||
| // (c) 2010-2013 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 | |||||
| // Public License, Version 2, as published by Sam Hocevar. See | |||||
| // http://www.wtfpl.net/ for more details. | |||||
| // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||||
| // © 2010—2015 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | |||||
| // | |||||
| // Lol Engine is free software. It comes without any warranty, to | |||||
| // the extent permitted by applicable law. You can redistribute it | |||||
| // 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> | |||||
| // (c) 2009-2015 Cédric Lecacheur <jordx@free.fr> | |||||
| // (c) 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 | |||||
| // Public License, Version 2, as published by Sam Hocevar. See | |||||
| // http://www.wtfpl.net/ for more details. | |||||
| // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net> | |||||
| // © 2009—2015 Cédric Lecacheur <jordx@free.fr> | |||||
| // © 2009—2015 Benjamin "Touky" Huet <huet.benjamin@gmail.com> | |||||
| // | |||||
| // Lol Engine is free software. It comes without any warranty, to | |||||
| // the extent permitted by applicable law. You can redistribute it | |||||
| // 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++) | |||||
| if (length(m_vert[i].m_normal) < 1.0f) | |||||
| i = i; | |||||
| // FIXME: what was this code for? | |||||
| // for (int i = 0; i < m_vert.count(); 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 | ||||