mirror of
				https://github.com/edubart/otclient.git
				synced 2025-11-04 04:36:23 +01:00 
			
		
		
		
	continue implementing new graphics engine
* implement OpenGL ES 1.1 and OpenGL ES 2.0 support * new framebuffer that can run on any opengl implementation * fixes in outfit size rendering
This commit is contained in:
		@@ -6,52 +6,16 @@ ENDIF(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 6)
 | 
			
		||||
# add framework cmake modules
 | 
			
		||||
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake;${CMAKE_MODULE_PATH}")
 | 
			
		||||
 | 
			
		||||
OPTION(USE_OPENGL_ES2 "Use OpenGL ES 2.0 (for mobiles devices)" OFF)
 | 
			
		||||
OPTION(CRASH_HANDLER "Generate crash reports" ON)
 | 
			
		||||
SET(BUILD_REVISION "custom" CACHE "Git revision string (intended for releases)" STRING)
 | 
			
		||||
 | 
			
		||||
OPTION(LUAJIT "Use lua jit" OFF)
 | 
			
		||||
SET(OPENGLES "OFF" CACHE "Use OpenGL ES 1.0 or 2.0 (for mobiles devices)" STRING)
 | 
			
		||||
SET(BUILD_REVISION "custom" CACHE "Git revision string (intended for releases)" STRING)
 | 
			
		||||
 | 
			
		||||
# set debug as default build type
 | 
			
		||||
IF(NOT CMAKE_BUILD_TYPE)
 | 
			
		||||
    SET(CMAKE_BUILD_TYPE RelWithDebInfo)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
# find needed libraries
 | 
			
		||||
IF(WIN32)
 | 
			
		||||
    SET(Boost_THREADAPI win32)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
SET(Boost_USE_MULTITHREADED ON)
 | 
			
		||||
SET(Boost_USE_STATIC_LIBS ON)
 | 
			
		||||
FIND_PACKAGE(Boost COMPONENTS system REQUIRED)
 | 
			
		||||
 | 
			
		||||
IF(USE_OPENGL_ES2)
 | 
			
		||||
    FIND_PACKAGE(OpenGLES2 REQUIRED)
 | 
			
		||||
    FIND_PACKAGE(EGL REQUIRED)
 | 
			
		||||
    ADD_DEFINITIONS(-DOPENGL_ES2)
 | 
			
		||||
    SET(OPENGL_INCLUDE_DIR ${EGL_INCLUDE_DIR} ${OPENGLES_INCLUDE_DIR})
 | 
			
		||||
    SET(OPENGL_LIBRARIES ${EGL_LIBRARY} ${OPENGLES_LIBRARY})
 | 
			
		||||
ELSE()
 | 
			
		||||
    FIND_PACKAGE(OpenGL REQUIRED)
 | 
			
		||||
    FIND_PACKAGE(GLEW REQUIRED)
 | 
			
		||||
    SET(OPENGL_LIBRARIES ${GLEW_LIBRARY} ${OPENGL_LIBRARIES})
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
IF(LUAJIT)
 | 
			
		||||
    FIND_PACKAGE(LuaJIT REQUIRED)
 | 
			
		||||
ELSE()
 | 
			
		||||
    FIND_PACKAGE(Lua REQUIRED)
 | 
			
		||||
ENDIF()
 | 
			
		||||
 | 
			
		||||
FIND_PACKAGE(PhysFS REQUIRED)
 | 
			
		||||
FIND_PACKAGE(GMP REQUIRED)
 | 
			
		||||
FIND_PACKAGE(ZLIB REQUIRED)
 | 
			
		||||
FIND_PACKAGE(OpenAL REQUIRED)
 | 
			
		||||
FIND_PACKAGE(VorbisFile REQUIRED)
 | 
			
		||||
FIND_PACKAGE(Vorbis REQUIRED)
 | 
			
		||||
FIND_PACKAGE(Ogg REQUIRED)
 | 
			
		||||
 | 
			
		||||
# setup compiler options
 | 
			
		||||
SET(CXX_WARNS "-Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-but-set-variable")
 | 
			
		||||
SET(CMAKE_CXX_FLAGS                   "${CMAKE_CXX_FLAGS} ${CXX_WARNS} -std=gnu++0x -pipe")
 | 
			
		||||
@@ -72,12 +36,57 @@ ADD_DEFINITIONS(-D"BUILD_TYPE=\\\"${CMAKE_BUILD_TYPE}\\\"")
 | 
			
		||||
MESSAGE(STATUS "Build revision: ${BUILD_REVISION}")
 | 
			
		||||
ADD_DEFINITIONS(-D"BUILD_REVISION=\\\"${BUILD_REVISION}\\\"")
 | 
			
		||||
 | 
			
		||||
IF(USE_OPENGL_ES2)
 | 
			
		||||
    MESSAGE(STATUS "Renderer: OpenGL ES 2.0")
 | 
			
		||||
ELSE()
 | 
			
		||||
    MESSAGE(STATUS "Renderer: OpenGL")
 | 
			
		||||
# find needed libraries
 | 
			
		||||
IF(WIN32)
 | 
			
		||||
    SET(Boost_THREADAPI win32)
 | 
			
		||||
ENDIF()
 | 
			
		||||
SET(Boost_USE_MULTITHREADED ON)
 | 
			
		||||
SET(Boost_USE_STATIC_LIBS ON)
 | 
			
		||||
FIND_PACKAGE(Boost COMPONENTS system REQUIRED)
 | 
			
		||||
 | 
			
		||||
IF(OPENGLES STREQUAL "2.0")
 | 
			
		||||
    FIND_PACKAGE(OpenGLES2 REQUIRED)
 | 
			
		||||
    FIND_PACKAGE(EGL REQUIRED)
 | 
			
		||||
    ADD_DEFINITIONS(-DOPENGL_ES=2)
 | 
			
		||||
    SET(OPENGL_INCLUDE_DIR ${EGL_INCLUDE_DIR} ${OPENGLES2_INCLUDE_DIR})
 | 
			
		||||
    SET(OPENGL_LIBRARIES ${EGL_LIBRARY} ${OPENGLES2_LIBRARY})
 | 
			
		||||
 | 
			
		||||
    SET(framework_SOURCES ${framework_SOURCES}
 | 
			
		||||
        ${CMAKE_CURRENT_LIST_DIR}/graphics/painterogl2.cpp)
 | 
			
		||||
ELSEIF(OPENGLES STREQUAL "1.0")
 | 
			
		||||
    FIND_PACKAGE(OpenGLES1 REQUIRED)
 | 
			
		||||
    FIND_PACKAGE(EGL REQUIRED)
 | 
			
		||||
    ADD_DEFINITIONS(-DOPENGL_ES=1)
 | 
			
		||||
    SET(OPENGL_INCLUDE_DIR ${EGL_INCLUDE_DIR} ${OPENGLES1_INCLUDE_DIR})
 | 
			
		||||
    SET(OPENGL_LIBRARIES ${EGL_LIBRARY} ${OPENGLES1_LIBRARY})
 | 
			
		||||
 | 
			
		||||
    SET(framework_SOURCES ${framework_SOURCES}
 | 
			
		||||
        ${CMAKE_CURRENT_LIST_DIR}/graphics/painterogl1.cpp)
 | 
			
		||||
ELSE()
 | 
			
		||||
    FIND_PACKAGE(OpenGL REQUIRED)
 | 
			
		||||
    FIND_PACKAGE(GLEW REQUIRED)
 | 
			
		||||
    SET(OPENGL_LIBRARIES ${GLEW_LIBRARY} ${OPENGL_LIBRARIES})
 | 
			
		||||
 | 
			
		||||
    SET(framework_SOURCES ${framework_SOURCES}
 | 
			
		||||
        ${CMAKE_CURRENT_LIST_DIR}/graphics/painterogl1.cpp
 | 
			
		||||
        ${CMAKE_CURRENT_LIST_DIR}/graphics/painterogl2.cpp)
 | 
			
		||||
ENDIF()
 | 
			
		||||
MESSAGE(STATUS "OpenGL ES: " ${OPENGLES})
 | 
			
		||||
 | 
			
		||||
IF(LUAJIT)
 | 
			
		||||
    FIND_PACKAGE(LuaJIT REQUIRED)
 | 
			
		||||
ELSE()
 | 
			
		||||
    FIND_PACKAGE(Lua REQUIRED)
 | 
			
		||||
ENDIF()
 | 
			
		||||
MESSAGE(STATUS "LuaJIT: " ${LUAJIT})
 | 
			
		||||
 | 
			
		||||
FIND_PACKAGE(PhysFS REQUIRED)
 | 
			
		||||
FIND_PACKAGE(GMP REQUIRED)
 | 
			
		||||
FIND_PACKAGE(ZLIB REQUIRED)
 | 
			
		||||
FIND_PACKAGE(OpenAL REQUIRED)
 | 
			
		||||
FIND_PACKAGE(VorbisFile REQUIRED)
 | 
			
		||||
FIND_PACKAGE(Vorbis REQUIRED)
 | 
			
		||||
FIND_PACKAGE(Ogg REQUIRED)
 | 
			
		||||
 | 
			
		||||
IF(CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
 | 
			
		||||
    MESSAGE(STATUS "Debug information: ON")
 | 
			
		||||
@@ -189,8 +198,6 @@ SET(framework_SOURCES ${framework_SOURCES}
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/fontmanager.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/graphics.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/painter.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/painterogl1.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/painterogl2.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/texture.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/framebuffer.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/animatedtexture.cpp
 | 
			
		||||
@@ -205,6 +212,7 @@ SET(framework_SOURCES ${framework_SOURCES}
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/paintershaderprogram.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/paintershadermanager.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/coordsbuffer.cpp
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/graphics/image.cpp
 | 
			
		||||
 | 
			
		||||
    # framework sound
 | 
			
		||||
    ${CMAKE_CURRENT_LIST_DIR}/sound/soundsource.cpp
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user