Commit graph

115 commits

Author SHA1 Message Date
Michaël Lemaire 14143ee278 Updated TerrainDefinition to use FractalNoise 2016-01-14 20:24:01 +01:00
Michaël Lemaire a098a19ee3 Removed unused test file 2016-01-13 22:49:21 +01:00
Michaël Lemaire 3b27d3be3e Refactored textures renderer 2016-01-10 14:27:32 +01:00
Michaël Lemaire 959f0ddf8f Updated NoiseNode to use FractalNoise instead of NoiseGenerator
Also fixed the range returned by NoiseFunctionSimplex (when
used by FractalNoise), and added a test to validate it.
2016-01-03 20:22:06 +01:00
Michaël Lemaire ff23d1a932 Fixed camera sometimes doing an all-round turn to reach its target 2015-12-31 00:36:42 +01:00
Michaël Lemaire dbcaf5fe90 Refectored PI constants definitions + added Maths::modInRange 2015-12-31 00:36:22 +01:00
Michaël Lemaire 958fd0121b Added camera focus on sun while moving it 2015-12-30 20:14:16 +01:00
Michaël Lemaire b9a51bb2be Fixed precision problem in daytime management 2015-12-30 19:29:15 +01:00
Michaël Lemaire 61a43410db Refactored CelestialBodyDefinition, with new sun/moon widget 2015-12-30 00:20:20 +01:00
Michaël Lemaire 391f1a7f41 Added FractalNoise value to OpenGLVariable 2015-12-24 01:21:12 +01:00
Michaël Lemaire d88cb29f4c Refactored OpenGLVariable with pimpl and smart pointers 2015-12-23 23:40:19 +01:00
Michaël Lemaire e9fcd6b2a5 Fixed int/double old-style casts 2015-12-17 01:13:20 +01:00
Michaël Lemaire b51ce3426d Fixed coding style 2015-12-16 01:33:02 +01:00
Michaël Lemaire b376d7f8e9 Added ColorNode 2015-12-16 01:32:25 +01:00
Michaël Lemaire 62a7f746ea Fixed NoiseGenerator.forceValue 2015-12-16 00:36:30 +01:00
Michaël Lemaire 26cba26847 Do not rasterize vegetation when there is no layer 2015-12-14 22:20:28 +01:00
Michaël Lemaire 84ecb99b12 definition: Fixed undo not generating reverse diffs 2015-12-13 20:32:26 +01:00
Michaël Lemaire d6444028f9 Added some convenience to set and watch scenery nodes 2015-12-13 19:56:00 +01:00
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