Refactor for linux

This commit is contained in:
balhau 2020-07-15 20:41:37 +01:00
parent 9f5ce72356
commit e052d73ff5
No known key found for this signature in database
GPG key ID: BE6343D39997BF6C
4 changed files with 46 additions and 45 deletions

3
.gitignore vendored
View file

@ -13,4 +13,5 @@ _CPack_Packages
CMakeCache.txt
Makefile
*.cmake
build/
build/
lib

View file

@ -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)
include(CPack)

View file

@ -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} )

View file

@ -38,29 +38,6 @@ public:
template <typename T>
void Push(unsigned count);
template <>
void Push<float>(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>(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 char>(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<VertexBufferElement> GetElements() const &
{
@ -70,4 +47,25 @@ public:
{
return m_Stride;
}
};
};
template <> void VertexBufferLayout::Push<float>(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>(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 char>(unsigned int count)
{
VertexBufferElement vbe = {GL_UNSIGNED_BYTE, count, GL_TRUE};
m_Elements.push_back(vbe);
m_Stride += count * VertexBufferElement::GetSizeOfType(GL_UNSIGNED_BYTE);
}