From e052d73ff57eb51134de59e439801a8f62c19c7a Mon Sep 17 00:00:00 2001 From: balhau Date: Wed, 15 Jul 2020 20:41:37 +0100 Subject: [PATCH] Refactor for linux --- .gitignore | 3 ++- CMakeLists.txt | 4 +-- src/opengl/CMakeLists.txt | 38 ++++++++++++++------------- src/opengl/VertexBufferLayout.h | 46 ++++++++++++++++----------------- 4 files changed, 46 insertions(+), 45 deletions(-) diff --git a/.gitignore b/.gitignore index b81ce03..737eabc 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ _CPack_Packages CMakeCache.txt Makefile *.cmake -build/ \ No newline at end of file +build/ +lib diff --git a/CMakeLists.txt b/CMakeLists.txt index 46f52eb..cf47e21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ project(cpplab) -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.10) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) @@ -18,4 +18,4 @@ set(CPACK_PACKAGE_CONTACT "Balhau") set(CPACK_GENERATOR "STGZ;TGZ;TZ;DEB") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CppLab") SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE.txt") -include(CPack) \ No newline at end of file +include(CPack) diff --git a/src/opengl/CMakeLists.txt b/src/opengl/CMakeLists.txt index bd1b0b6..3418a69 100644 --- a/src/opengl/CMakeLists.txt +++ b/src/opengl/CMakeLists.txt @@ -1,31 +1,33 @@ # Search for glfw -find_package(glfw3 3.3 REQUIRED) +find_package(glfw3 3.2 REQUIRED) # Search for glew -find_package(glew REQUIRED) -# Search for OpenGL +find_package(GLEW REQUIRED) find_package(OpenGL REQUIRED) -add_compile_definitions(IS_DEBUG=1) +find_package(GLUT REQUIRED) +#add_compile_definitions(IS_DEBUG=1) + + # Add gl1 executable build from gl1.cpp, glew.c and Renderer.cpp -add_executable( - gl1 - glew.c - gl1.cpp - Shader.cpp - Renderer.cpp - VertexBuffer.cpp - IndexBuffer.cpp - VertexArray.cpp - utils.cpp -) +#add_executable( +# gl1 +# gl1.cpp +# Shader.cpp +# Renderer.cpp +# VertexBuffer.cpp +# IndexBuffer.cpp +# VertexArray.cpp +# utils.cpp +#) -target_link_libraries(gl1 /usr/local/lib/libGLEW.2.2.0.dylib) +#target_link_libraries(gl1 /usr/local/lib/libGLEW.2.2.0.dylib) # Link gl1 with glfw lib -target_link_libraries(gl1 glfw) +#target_link_libraries(gl1 glfw) # Link gl1 with glew #target_link_libraries(gl1 glew) # Link gl1 with OpenGL -target_link_libraries(gl1 OpenGL::GL) +#target_link_libraries(gl1 OpenGL::GL) +#target_link_libraries(gl1 ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} ) diff --git a/src/opengl/VertexBufferLayout.h b/src/opengl/VertexBufferLayout.h index 26334da..d81891c 100644 --- a/src/opengl/VertexBufferLayout.h +++ b/src/opengl/VertexBufferLayout.h @@ -38,29 +38,6 @@ public: template void Push(unsigned count); - template <> - void Push(unsigned int count) - { - VertexBufferElement vbe = {GL_FLOAT, count, GL_FALSE}; - m_Elements.push_back(vbe); - m_Stride += count * VertexBufferElement::GetSizeOfType(GL_FLOAT); - }; - - template <> - void Push(unsigned int count) - { - VertexBufferElement vbe = {GL_UNSIGNED_INT, count, GL_FALSE}; - m_Elements.push_back(vbe); - m_Stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_INT); - } - - template <> - void Push(unsigned int count) - { - VertexBufferElement vbe = {GL_UNSIGNED_BYTE, count, GL_TRUE}; - m_Elements.push_back(vbe); - m_Stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_BYTE); - } inline const std::vector GetElements() const & { @@ -70,4 +47,25 @@ public: { return m_Stride; } -}; \ No newline at end of file +}; + +template <> void VertexBufferLayout::Push(unsigned int count) +{ + VertexBufferElement vbe = {GL_FLOAT, count, GL_FALSE}; + m_Elements.push_back(vbe); + m_Stride += count * VertexBufferElement::GetSizeOfType(GL_FLOAT); +}; + +template <> void VertexBufferLayout::Push(unsigned int count) +{ + VertexBufferElement vbe = {GL_UNSIGNED_INT, count, GL_FALSE}; + m_Elements.push_back(vbe); + m_Stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_INT); +} + +template <> void VertexBufferLayout::Push(unsigned int count) +{ + VertexBufferElement vbe = {GL_UNSIGNED_BYTE, count, GL_TRUE}; + m_Elements.push_back(vbe); + m_Stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_BYTE); +} \ No newline at end of file