Commit graph

170 commits

Author SHA1 Message Date
Michaël Lemaire 2d6c0f34c3 Using c++ random generators instead of cstdlib one 2015-12-10 19:40:39 +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 e346f07c22 Merge branch 'master' into vegetation
Conflicts:
	src/render/opengl/OpenGLRenderer.cpp
	src/render/opengl/OpenGLRenderer.h
	src/render/opengl/OpenGLShaderProgram.cpp
	src/render/opengl/OpenGLShaderProgram.h
	src/render/opengl/OpenGLSharedState.cpp
2015-12-04 00:04:07 +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 dd7baf6db5 Merge branch 'master' into vegetation 2015-11-18 19:41:54 +01:00
Michaël Lemaire 6166031c8b Speeded up compile time
Reworked *_global.h heavy inclusions
2015-11-18 19:37:00 +01:00
Michaël Lemaire 394ff3b0ae Format 2015-11-18 17:22:33 +01:00
Michaël Lemaire 159e0f7e81 Optimized vegetation branches rendering 2015-11-10 00:15:30 +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 72877c4361 Tweaked vegetation rendering, and improved render tests 2015-11-09 01:07:33 +01:00
Michaël Lemaire bdb2a3edb8 Merge branch 'master' into vegetation 2015-11-08 23:33:09 +01:00
Michaël Lemaire d82fc73531 Small optimizations (use reference to avoid object copy) 2015-11-08 23:32:52 +01:00
Michaël Lemaire 1e12b8ac9c vegetation: Now using sphere cap for leaves, to avoid flat effect 2015-11-04 01:08:48 +01:00
Michaël Lemaire 2560fe2c53 Fixed holes in vegetation rendering 2015-11-02 23:00:02 +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 030be52f6f Merge branch 'master' into vegetation
Conflicts:
	src/definition/definition.pro
	src/render/software/software.pro
2015-10-19 17:40:17 +02:00
Michaël Lemaire ca7bd84308 Simplified project files + lazy init of data files 2015-10-19 01:39:22 +02:00
Michaël Lemaire d937bd08f6 vegetation: Added basic distribution algorithm 2015-10-19 00:30:20 +02:00
Michaël Lemaire 0ddec2393d Merge branch 'master' into vegetation 2015-10-19 00:29:47 +02:00
Michaël Lemaire 75e32beea7 Added NoiseNode 2015-10-19 00:26:25 +02:00
Michaël Lemaire 48dc1a8f25 Refactored vegetation presence 2015-10-18 22:15:19 +02:00
Michaël Lemaire b430f6037e First draft of vegetation layers (WIP) 2015-10-18 17:26:19 +02:00
Michaël Lemaire cafa9b4c74 Added missing SurfaceMaterial::copy 2015-10-15 20:28:05 +02:00
Michaël Lemaire cd144b886c Added TimeManager with basic wind control for videos 2015-10-15 17:52:03 +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 98e3128c31 Added /atmosphere/godrays/ definition node 2015-09-30 01:08:15 +02:00
Michaël Lemaire 8a9c3d4b83 Added /atmosphere/sun_radius property
Also added the tool camera mode to focus on the sun while altering its radius
2015-09-21 23:12:43 +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 7658bf256f Optimized terrain rendering
Painted height map is not queried anymore when empty
2015-09-21 01:36:03 +02:00
Michaël Lemaire 005c24fa85 Tweaked window and render sizes to keep full hd ratio
Also added medium render size
2015-09-14 00:48:55 +02:00
Michaël Lemaire c6272846ea Fixed camera Z-culling planes
This fixes artifacts in the sky rasterization
2015-09-13 20:08:14 +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 982af74c2d Added /water/reflection property 2015-09-08 01:00:34 +02:00
Michaël Lemaire a96699dece Added mouse tracking on 3d view for future operations 2015-09-07 01:15:59 +02:00
Michaël Lemaire 9b2c60fe16 DefinitionNode.copy now copies children automatically 2015-08-24 01:23:05 +02:00
Michaël Lemaire c199bef7f2 Added /atmosphere/humidity control 2015-08-24 01:19:19 +02:00
Michaël Lemaire 13c8816f9e Fixed water height not resetting when creating new scene 2015-08-20 23:11:07 +02:00
Michaël Lemaire bbec14d904 Fixed atmosphere saving to file 2015-08-19 22:07:44 +02:00
Michaël Lemaire 87acc42041 Experimental scenery generate/save/load from UI 2015-08-19 20:06:47 +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 fde385a51a Fixed initial textures definition 2015-08-19 18:14:15 +02:00
Michaël Lemaire 9d077d78f5 Added FloatPropertyBind class
This allows to easily bind a Qml property to a FloatNode,
synchronizing values both ways.
2015-08-19 01:17:49 +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 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
Michaël Lemaire 46e9e73793 Refactored logging system using iostream 2015-08-13 00:33:16 +02:00
Michaël Lemaire 42d3ae4ceb Renamed BaseDefinition to DefinitionNode 2015-08-12 22:21:10 +02:00
Michaël Lemaire 6f8e0c3cfd Fixed some memory issues 2015-08-12 19:29:28 +02:00
Michaël Lemaire 26fb112da1 Added name to all BaseDefinition and toString representation
Also fixed deletion of children in the definition tree,
to handle dynamic and static destructor calls.
2015-08-12 17:02:27 +02:00
Michaël Lemaire 7d79b6f772 Added scenery save/load testing 2015-08-04 00:00:56 +02:00
Michaël Lemaire efcbeecf3e Added speed factor in camera control 2015-07-22 21:30:56 +02:00
Michaël Lemaire 2de920e091 Fixed quick ui camera to stay above ground and water 2015-07-22 18:39:46 +02:00
Michaël Lemaire f7715b612e Changed some old int-bools to true booleans 2014-11-21 09:45:19 +01:00
Michaël Lemaire 872e191fea Merge branch 'master' into quick_ui 2014-09-18 11:39:56 +02:00
Michaël Lemaire f869c2a01d Fix compile in debug mode 2014-09-18 10:09:25 +02:00
Michaël Lemaire 0c3a498cae Merge branch 'master' into quick_ui 2014-09-18 09:25:16 +02:00
Michaël Lemaire 4a01a4314a Refactored TerrainHeightMap to PaintedGrid for future reuse 2014-09-15 12:32:27 +02:00
Michaël Lemaire 5eed701803 Removed unused Circle system from Zone 2014-09-15 09:36:48 +02:00
Michaël Lemaire d0a5f19cc5 Added daytime control to QtQuick UI 2014-08-28 19:46:06 +02:00
Michaël Lemaire 13904be001 Optimization: replaced some divisions by inverse multiplications 2014-08-20 16:45:45 +02:00
Michaël Lemaire c57c5f45d4 Merge branch 'master' into water_shader 2014-05-20 09:55:44 +02:00
Michaël Lemaire 49564acc3c Fixed build for windows systems 2014-03-01 01:34:34 +01:00
Michaël Lemaire 3e72fc7bf8 Replaced NoiseGenerator by NoiseState in WaterDefinition 2014-01-21 21:51:11 +01:00
Michaël Lemaire 25d9a95141 Water is now always at y=0.0 2014-01-06 20:22:00 +01:00
Michaël Lemaire 1db49afaed Restored correct terrain tessellation 2014-01-02 15:08:00 +01:00
Michaël Lemaire e61dae6f0a Added NoiseState to maintain the noise offsets in clouds 2013-12-31 15:50:28 +01:00
Michaël Lemaire eb795b0f83 Added camera FOV control (and better initial fov) 2013-12-30 14:59:42 +01:00
Michaël Lemaire 134158c33a Stars optimization and small tweaks 2013-12-29 18:44:12 +01:00
Michaël Lemaire eabe68b77d New terrain walker (now used for ray casting) 2013-12-29 14:14:49 +01:00
Michaël Lemaire 3786b21e15 Added stars to night sky 2013-12-26 17:30:22 +01:00
Michaël Lemaire c651b436ab Added moon configuration 2013-12-26 16:55:37 +01:00
Michaël Lemaire 0ebdff628b More realistic water presets 2013-12-25 19:55:05 +01:00
Michaël Lemaire a9a6134633 Fixed material dialog validation and made material hardness to work 2013-12-25 19:45:56 +01:00
Michaël Lemaire 742b93d3d9 Small fixes to opengl rendering 2013-12-24 15:00:32 +01:00
Michaël Lemaire 806ab74244 Fixed camera definition to avoid going underground in opengl view 2013-12-24 13:30:32 +01:00
Michaël Lemaire 645bada91b Added camera to OpenGLSharedState 2013-12-22 17:30:48 +01:00
Michaël Lemaire 7b790d2015 Switched opengl skybox to shaders 2013-12-21 23:48:54 +01:00
Michaël Lemaire cc9c68bef9 Fixed layers not adding children to BaseDefinition 2013-12-15 15:33:54 +01:00
Michaël Lemaire 97a950947a Fixed terrain preview 2013-12-15 14:28:46 +01:00
Michaël Lemaire 879f88fd20 Removed old C-api for Vector3 2013-12-11 11:32:10 +01:00
Michaël Lemaire 88517af86f Removed old C-Api from Color 2013-12-11 10:24:35 +01:00
Michaël Lemaire 84608a66a8 Fully removed 'rendering' library 2013-12-11 10:17:36 +01:00
Michaël Lemaire 5354087244 Optimized camera projection and scanlines 2013-12-10 23:41:33 +01:00
Michaël Lemaire 19ac6936b0 Refactored RenderingScenery and STL containers usage 2013-12-10 22:32:58 +01:00
Michaël Lemaire 9be090b1ff WIP on new clouds renderer 2013-12-04 22:52:18 +01:00