Commit graph

97 commits

Author SHA1 Message Date
Michaël Lemaire 1d9d24b958 vegetation: Fixed segfault in unit test 2015-12-13 17:47:22 +01:00
Michaël Lemaire 4a710c0977 Merge branch 'master' into vegetation
Conflicts:
	src/interface/commandline/tests.cpp
	src/render/opengl/OpenGLPart.h
	src/render/opengl/OpenGLRenderer.cpp
	src/render/opengl/OpenGLRenderer.h
	src/render/opengl/OpenGLShaderProgram.h
	src/render/opengl/OpenGLSharedState.h
	src/render/software/SoftwareCanvasRenderer.h
2015-12-13 17:16:26 +01:00
Michaël Lemaire 7d4989b670 using namespace std 2015-12-11 00:36:50 +01:00
Michaël Lemaire 479dcb03ac Added opengl resources deleting at exit (textures, arrays...) 2015-12-10 23:41:42 +01:00
Michaël Lemaire 230fd6644e Merge branch 'master' into vegetation
Conflicts:
	src/basics/Color.inline.cpp
2015-12-09 00:40:47 +01:00
Michaël Lemaire c12cd91f9b Removed header inlining of Vector3 and Color methods
This made cross-platform compiling and profiling more complicated
2015-12-09 00:32:29 +01:00
Michaël Lemaire 9196be4c05 Merge branch 'master' into vegetation
Conflicts:
	src/render/opengl/OpenGLShaderProgram.cpp
	src/render/opengl/OpenGLShaderProgram.h
	src/render/opengl/opengl_global.h
2015-12-08 01:28:15 +01:00
Michaël Lemaire f242f55f81 Switched OpenGL to core profile 2015-12-07 23:32:55 +01:00
Michaël Lemaire c7e868ef11 Better OpenGL error checking + opengl header refactoring 2015-12-03 23:04:50 +01:00
Michaël Lemaire d2efb599d9 Made the vegetation impostors face the camera 2015-11-29 19:18:36 +01:00
Michaël Lemaire 9d7a7a0ff7 Added vegetation impostors to OpenGL renderer
This is currently an unoptimized and broken version, to be improved
2015-11-25 23:15:58 +01:00
Michaël Lemaire 9e3c43f510 Merge branch 'master' into vegetation 2015-11-24 00:59:28 +01:00
Michaël Lemaire 5e9b37d52c Fixed small memory leaks and uninitialized values 2015-11-24 00:58:09 +01:00
Michaël Lemaire 01992a0019 Fixed vegetation definition, due to layers refactoring in master 2015-11-20 01:16:48 +01:00
Michaël Lemaire 8cf2881a73 Merge branch 'master' into vegetation 2015-11-20 01:10:06 +01:00
Michaël Lemaire 2b65f1d26a Refactored layers system to work better as DefinitionNode
It now features undo/redo of layer creation and removal
2015-11-20 01:07:31 +01:00
Michaël Lemaire 5f0b3734cf Switched to C++-14 2015-11-20 01:04:21 +01:00
Michaël Lemaire 394ff3b0ae Format 2015-11-18 17:22:33 +01:00
Michaël Lemaire e2d03642f4 Added some vegetation rendering optimizations 2015-11-10 01:12:14 +01:00
Michaël Lemaire 9a096ec329 Merge branch 'master' into vegetation
Conflicts:
	src/basics/Disk.cpp
	src/basics/Disk.h
	src/basics/SpaceSegment.cpp
	src/definition/DefinitionNode.cpp
	src/definition/DefinitionNode.h
	src/definition/Scenery.cpp
	src/definition/Scenery.h
	src/definition/SurfaceMaterial.cpp
	src/definition/SurfaceMaterial.h
	src/definition/TextureLayerDefinition.cpp
	src/definition/definition_global.h
	src/interface/commandline/tests.cpp
	src/render/opengl/OpenGLRenderer.cpp
	src/render/software/SoftwareCanvasRenderer.cpp
	src/render/software/SoftwareCanvasRenderer.h
	src/render/software/SoftwareRenderer.h
	src/render/software/TerrainRasterizer.cpp
	src/render/software/TerrainRasterizer.h
	src/render/software/TerrainRenderer.h
	src/render/software/software_global.h
2015-11-09 22:38:00 +01:00
Michaël Lemaire 88d2a78b70 Enforced coding style using clang-format 2015-11-09 22:30:46 +01:00
Michaël Lemaire 68945111d1 Improved vegetation rendering
- Added early check on terrain height range during iteration
- Added test render of vegetation model
- Tweaked basic tree model
2015-11-02 20:14:35 +01:00
Michaël Lemaire ca7bd84308 Simplified project files + lazy init of data files 2015-10-19 01:39:22 +02:00
Michaël Lemaire 52bad18d26 Added "backface culling" and "previous fragment" in rasterizers
Backface culling speeds up rasterization
Previous fragment will be used later by vegetation rasterizer
2015-10-16 00:51:46 +02:00
Michaël Lemaire cafa9b4c74 Added missing SurfaceMaterial::copy 2015-10-15 20:28:05 +02:00
Michaël Lemaire 2b3ecc7e35 Added geometry primitives 2015-10-15 20:21:32 +02:00
Michaël Lemaire 91cd564c59 Added SpaceGridIterator for SpaceSegment 2015-10-15 20:01:08 +02:00
Michaël Lemaire a91fa41f8f Added Vector3::randomInSphere
For future use in vegetation
2015-10-15 19:51:24 +02:00
Michaël Lemaire 3fc8b1c98f Added automatic tessellation near camera frustum culling
This allows the camera nearer the ground
and fixes holes in lower quality renders
2015-10-08 19:20:44 +02:00
Michaël Lemaire 652c66a2fa Fixed a random behavior in god rays tests
Due to an uninitialized value
2015-10-08 00:47:14 +02:00
Michaël Lemaire b045b731ad Added god rays manager (initial implementation) 2015-09-29 22:31:25 +02:00
Michaël Lemaire 6f2d23d960 Refactored lighting manager 2015-09-25 00:12:31 +02:00
Michaël Lemaire 63eb7b53eb Fixed watchers that could be added twice to the same definition node 2015-09-21 23:10:43 +02:00
Michaël Lemaire c51d6d2d35 Fixed terrain painting not updating has_painting 2015-09-21 19:37:17 +02:00
Michaël Lemaire 6a45c5dba7 Refactored quality control of terrain rendering
Terrain scaling factor was removed for quality consistency
2015-09-10 18:16:57 +02:00
Michaël Lemaire 647e185e52 Added IntNode, IntPropertyBind, PanelPictureChoice and /water/model property 2015-09-08 23:52:34 +02:00
Michaël Lemaire 9b2c60fe16 DefinitionNode.copy now copies children automatically 2015-08-24 01:23:05 +02:00
Michaël Lemaire 7c7b6043c5 Improved render progress.
A bug was also fixed where some canvas pixels were shaded twice,
leading to a performance loss.
2015-08-23 20:22:37 +02:00
Michaël Lemaire bbec14d904 Fixed atmosphere saving to file 2015-08-19 22:07:44 +02:00
Michaël Lemaire 0058a0a8e3 Switched to RGB material colors
...to avoid otherwise unused HSL conversion, which causes problems
for some RGB values (like Color(1, 0, 0))
2015-08-19 19:14:59 +02:00
Michaël Lemaire 56dae1e38e Don't copy scenery in the renderer 2015-08-18 22:29:18 +02:00
Michaël Lemaire db0be5204f Switched /atmosphere/daytime to new definition system 2015-08-18 20:31:11 +02:00
Michaël Lemaire 8fa0d8af29 Added DefinitionWatcher system
Also switched to the new definition system for /terrain/water_height
2015-08-17 22:55:30 +02:00
Michaël Lemaire 67bd80fba5 Fixed undo/redo system 2015-08-17 18:18:31 +02:00
Michaël Lemaire 5afd5ec24a Added DiffManager system, with simple undo/redo 2015-08-17 00:29:54 +02:00
Michaël Lemaire 1eef1ef429 Start of undo/redo system (added DefinitionDiff) 2015-08-16 23:01:56 +02:00
Michaël Lemaire d78bd2553c Added unit tests for FloatNode 2015-08-14 00:22:20 +02:00
Michaël Lemaire d65bc18342 Fixed compiler warnings 2015-08-13 23:59:27 +02:00
Michaël Lemaire 0fc10fd28b Added FloatNode and smart save/load of definition tree
Node children are now saved with their name, and if a child is not found,
it is skipped. This will allow for backward/forward compatibility of saves.
2015-08-13 23:46:50 +02:00
Michaël Lemaire 6062c755b5 Fixed layers saving/loading
Global scenery save/load testing was also improved to detect these cases better
2015-08-13 19:49:16 +02:00