Commit e289bdcf authored by Florian Oetke's avatar Florian Oetke
Browse files

Merge branch 'develop' into 'master'

Develop => Master (new Tone-Mapping and GI improvements)

See merge request lowkey42/mirrage!6
parents c16c02ba 2d0ee8d1
......@@ -23,11 +23,11 @@ BraceWrapping: {AfterClass: false, AfterControlStatement: false, AfterEnum: true
AfterUnion: false, BeforeCatch: false, BeforeElse: false, IndentBraces: false}
BreakAfterJavaFieldAnnotations: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Attach
BreakBeforeBraces: WebKit
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: true
BreakStringLiterals: true
ColumnLimit: 100
ColumnLimit: 110
CommentPragmas: '^ IWYU pragma:'
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 2
......@@ -61,7 +61,7 @@ PenaltyBreakComment: 400
PenaltyBreakFirstLessLess: 200
PenaltyBreakString: 150
PenaltyExcessCharacter: 100
PenaltyReturnTypeOnItsOwnLine: 10000
PenaltyReturnTypeOnItsOwnLine: 1000000
PointerAlignment: Left
ReflowComments: false
SortIncludes: true
......
PROJECT_NAME = Mirrage
PROJECT_BRIEF = "A Vulkan based deferred renderer and simple game engine/framework"
STRIP_CODE_COMMENTS = NO
ALPHABETICAL_INDEX = YES
BUILTIN_STL_SUPPORT = YES
DIRECTORY_GRAPH = YES
HAVE_DOT = YES
GRAPHICAL_HIERARCHY = YES
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
JAVADOC_AUTOBRIEF = YES
MARKDOWN_SUPPORT = YES
CLANG_ASSISTED_PARSING = YES
CLANG_OPTIONS = -std=c++17
INPUT = /home/lowkey/workspaces/mirrage/src
RECURSIVE = YES
image: lowkey42/build-env:latest
stages:
- build
variables:
GIT_SUBMODULE_STRATEGY: recursive
build_gcc:
stage: build
script:
- export CC=gcc
- export CXX=g++
- mkdir build
- cd build
- mkdir bin
- cmake -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=../bin -DCMAKE_BUILD_TYPE=Release -DMIRRAGE_EXPORT_EXECUTABLE=ON ..
- cmake --build . --target src/install
artifacts:
paths:
- build/bin
expire_in: 1 day
build_clang:
stage: build
script:
- export CC=clang
- export CXX=clang++
- mkdir build
- cd build
- mkdir bin
- cmake -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=../bin -DCMAKE_BUILD_TYPE=Release -DMIRRAGE_EXPORT_EXECUTABLE=ON ..
- cmake --build . --target src/install
artifacts:
paths:
- build/bin
expire_in: 1 week
build_scanbuild:
stage: build
script:
- export CC=clang
- export CXX=clang++
- mkdir build
- cd build
- scan-build --use-c++=clang++ --use-cc=clang cmake -DMIRRAGE_FORCE_LIBCPP=ON -G "Unix Makefiles" ..
- scan-build --use-c++=clang++ --use-cc=clang -enable-checker deadcode.DeadStores -enable-checker security.insecureAPI.UncheckedReturn --status-bugs -v cmake --build .
artifacts:
paths:
- /tmp/scan-build-*
expire_in: 1 week
[submodule "dependencies/backward-cpp"]
path = dependencies/backward-cpp
url = https://github.com/bombela/backward-cpp.git
[submodule "dependencies/plog"]
path = dependencies/plog
url = https://github.com/SergiusTheBest/plog.git
define = GLM_FORCE_CXX14
define = ENABLE_SF2_ASSETS
define = GLM_ENABLE_EXPERIMENTAL
define = GLM_FORCE_DEPTH_ZERO_TO_ONE
define = GLM_FORCE_RADIANS
define = LIBASYNC_STATIC
include_dir = **/include
include_dir = dependencies/glm
include_dir = dependencies/physfs/src
include_dir = dependencies/robin-map
include_dir = dependencies/nuklear
include_dir = dependencies/stb_image
exclude = **/test/**
exclude = **/tests/**
exclude = **/example/**
exclude = **/glm/**
exclude = **/boost/**
exclude = **/assimp/**
# input = src/**.cpp
input = **.hpp
input = **.h
project_name = Mirrage
target_namespace = mirrage.*
......@@ -6,7 +6,6 @@
if [ $ANALYZE = "true" ]; then
if [ "$CC" = "clang" ]; then
docker exec build scan-build --use-c++=clang++ cmake -DMIRRAGE_FORCE_LIBCPP=ON -G "Unix Makefiles" -H/repo -B/build
docker exec build scan-build --use-c++=clang++ cmake -DMIRRAGE_FORCE_LIBCPP=ON -G "Unix Makefiles" -H/repo -B/build
docker exec build scan-build --use-c++=clang++ -enable-checker deadcode.DeadStores \
-enable-checker security.insecureAPI.UncheckedReturn \
......@@ -14,8 +13,7 @@ if [ $ANALYZE = "true" ]; then
cmake --build /build
fi
else
docker exec build cmake -H/repo -B/build
docker exec build cmake -H/repo -B/build
docker exec build cmake -DCMAKE_BUILD_TYPE=Release -H/repo -B/build
docker exec build cmake --build /build
fi
......@@ -39,8 +39,10 @@ if(NOT hasParent)
# custom target that does nothing but references all files so they show up in QtCreator
file(GLOB_RECURSE ALL_FILES
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/*.*)
*.*)
list(FILTER ALL_FILES EXCLUDE REGEX "^src/.+\\.(h|c)+")
list(FILTER ALL_FILES EXCLUDE REGEX "^src/.*CMakeLists.txt")
add_custom_target(zz_all_project_files SOURCES ${ALL_FILES})
else()
......
[![Mirrage logo](/logo.svg)]()
[![Mirrage logo](https://github.com/lowkey42/mirrage/raw/develop/logo.svg?sanitize=true)]()
[![Build Status](https://travis-ci.org/lowkey42/mirrage.svg?branch=develop)](https://travis-ci.org/lowkey42/mirrage)
[![license](https://img.shields.io/github/license/mashape/apistatus.svg)](/LICENSE)
[![pipeline status](https://gitlab.com/lowkey42/mirrage/badges/develop/pipeline.svg)](https://gitlab.com/lowkey42/mirrage/commits/develop)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](/LICENSE)
## Mirrage
......@@ -15,14 +15,14 @@ Mirrage (Mirrage Indirect Radiance Renderer And Game Engine) is a Vulkan based d
| ![](screenshots/top_down.jpeg) | ![](screenshots/hallway_1.jpeg) |
|------------------|------------------|
| ![](screenshots/metal.jpeg) | ![](screenshots/cornell.jpeg) |
| ![](screenshots/hallway_2.jpeg) | ![](screenshots/light_cube.jpeg) |
| ![](screenshots/front.jpeg) | ![](screenshots/light_cube.jpeg) |
### Dependencies
Required:
- CMake >= 3.8
- SDL2 >= 2.0.5
- Vulkan >= 1.0.59
- SDL2 >= 2.0.7
- Vulkan + Vulkan-HPP >= 1.1.70
- GLSLC (if MIRRAGE_COMPILE_SHADERS is ON)
......@@ -58,3 +58,4 @@ The project can be further configured by setting the following CMake-Properties
- MIRRAGE_ENABLE_LTO: Activates link time optimizations on gcc/clang (Default: OFF)
- MIRRAGE_SAN: Build with clang sanatizers (address, integer, undefined and address-use-after-scope) (Default: OFF)
- MIRRAGE_USE_LIBCPP: Uses libc++ instead of libstdc++ when compiling with clang (Default: ON)
......@@ -29,6 +29,9 @@ frag_shader:ssao = shader/bin/ssao.frag.spv
vert_shader:gi_blend = shader/bin/fullscreen.vert.spv
frag_shader:gi_blend = shader/bin/gi_blend.frag.spv
vert_shader:gi_diffuse_reproject = shader/bin/fullscreen.vert.spv
frag_shader:gi_diffuse_reproject = shader/bin/gi_diffuse_reproject.frag.spv
vert_shader:gi_integrate_brdf = shader/bin/gi_integrate_brdf.vert.spv
frag_shader:gi_integrate_brdf = shader/bin/gi_integrate_brdf.frag.spv
......@@ -38,6 +41,12 @@ frag_shader:gi_mipgen = shader/bin/gi_mipgen.frag.spv
vert_shader:gi_sample = shader/bin/fullscreen.vert.spv
frag_shader:gi_sample = shader/bin/gi_sample.frag.spv
vert_shader:gi_sample_upsample = shader/bin/fullscreen.vert.spv
frag_shader:gi_sample_upsample = shader/bin/gi_sample_upsample.frag.spv
vert_shader:gi_sample_blend = shader/bin/fullscreen.vert.spv
frag_shader:gi_sample_blend = shader/bin/gi_sample_blend.frag.spv
vert_shader:gi_sample_spec = shader/bin/fullscreen.vert.spv
frag_shader:gi_sample_spec = shader/bin/gi_sample_spec.frag.spv
......@@ -47,6 +56,9 @@ frag_shader:gi_spec_blur = shader/bin/gi_spec_blur.frag.spv
vert_shader:gi_reproject = shader/bin/fullscreen.vert.spv
frag_shader:gi_reproject = shader/bin/gi_reproject.frag.spv
vert_shader:median_filter = shader/bin/fullscreen.vert.spv
frag_shader:median_filter = shader/bin/median_filter.frag.spv
vert_shader:voxelization = shader/bin/voxelization.vert.spv
frag_shader:voxelization = shader/bin/voxelization.frag.spv
......@@ -56,9 +68,14 @@ frag_shader:luminance = shader/bin/luminance.frag.spv
vert_shader:luminance_adapt = shader/bin/fullscreen.vert.spv
frag_shader:luminance_adapt = shader/bin/luminance_adapt.frag.spv
vert_shader:bloom_filter = shader/bin/fullscreen.vert.spv
frag_shader:bloom_filter = shader/bin/bloom_filter.frag.spv
vert_shader:bloom_apply = shader/bin/fullscreen.vert.spv
frag_shader:bloom_apply = shader/bin/bloom_apply.frag.spv
vert_shader:bloom_blur = shader/bin/bloom_blur.vert.spv
frag_shader:bloom_blur = shader/bin/bloom_blur.frag.spv
comp_shader:tone_mapping_adjust = shader/bin/tone_mapping_adjust.comp.spv
comp_shader:tone_mapping_histogram = shader/bin/tone_mapping_histogram.comp.spv
vert_shader:tone_mapping_apply = shader/bin/fullscreen.vert.spv
frag_shader:tone_mapping_apply = shader/bin/tone_mapping_apply.frag.spv
......@@ -4,6 +4,7 @@ tex:black = textures/default_black.png
tex:white = textures/default_white.ktx
tex:normal = textures/default_normal.png
tex:placeholder = textures/default_placeholder.ktx
tex:blue_noise = textures/blue_noise.ktx
tex:x_font = textures/x.template_regular_48.tga
tex:satisfy_font = textures/satisfy_regular_20.tga
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment