Commit graph

555 commits

Author SHA1 Message Date
84ecb99b12 definition: Fixed undo not generating reverse diffs 2015-12-13 20:32:26 +01:00
e0ba87e4e5 Added mandatory logger information 2015-12-13 20:08:38 +01:00
d6444028f9 Added some convenience to set and watch scenery nodes 2015-12-13 19:56:00 +01:00
8ff83d48e7 OpenGLTerrain does not use Qt containers anymore 2015-12-13 19:06:27 +01:00
1d9d24b958 vegetation: Fixed segfault in unit test 2015-12-13 17:47:22 +01:00
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
b54bd65df9 Added DefinitionWatcher.startWatching 2015-12-11 01:39:47 +01:00
9cece93ec1 Refactored opengl parts 2015-12-11 01:12:55 +01:00
7d4989b670 using namespace std 2015-12-11 00:36:50 +01:00
479dcb03ac Added opengl resources deleting at exit (textures, arrays...) 2015-12-10 23:41:42 +01:00
c5950f810f Merge branch 'master' into vegetation
Conflicts:
	src/definition/Scenery.cpp
	src/interface/commandline/tests.cpp
2015-12-10 19:48:42 +01:00
2d6c0f34c3 Using c++ random generators instead of cstdlib one 2015-12-10 19:40:39 +01:00
230fd6644e Merge branch 'master' into vegetation
Conflicts:
	src/basics/Color.inline.cpp
2015-12-09 00:40:47 +01:00
9c774f3817 Fixed noise shader function using deprecated "texture2D" 2015-12-09 00:34:56 +01:00
1f656a6f86 Added missing export flag on classes 2015-12-09 00:34:08 +01:00
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
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
f242f55f81 Switched OpenGL to core profile 2015-12-07 23:32:55 +01:00
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
c7e868ef11 Better OpenGL error checking + opengl header refactoring 2015-12-03 23:04:50 +01:00
d2efb599d9 Made the vegetation impostors face the camera 2015-11-29 19:18:36 +01:00
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
9e3c43f510 Merge branch 'master' into vegetation 2015-11-24 00:59:28 +01:00
5e9b37d52c Fixed small memory leaks and uninitialized values 2015-11-24 00:58:09 +01:00
01992a0019 Fixed vegetation definition, due to layers refactoring in master 2015-11-20 01:16:48 +01:00
8cf2881a73 Merge branch 'master' into vegetation 2015-11-20 01:10:06 +01:00
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
5f0b3734cf Switched to C++-14 2015-11-20 01:04:21 +01:00
236db15fdb Merge branch 'master' into vegetation 2015-11-18 22:22:30 +01:00
10f8f46ca6 Fixed CanvasPortion using the same temp files across processes 2015-11-18 22:22:09 +01:00
dd7baf6db5 Merge branch 'master' into vegetation 2015-11-18 19:41:54 +01:00
6166031c8b Speeded up compile time
Reworked *_global.h heavy inclusions
2015-11-18 19:37:00 +01:00
63a9f780ca Merge branch 'master' into vegetation 2015-11-18 18:39:50 +01:00
65b4cd150c Fixed render camera size being inconsistent between renderers 2015-11-18 18:39:31 +01:00
394ff3b0ae Format 2015-11-18 17:22:33 +01:00
e2d03642f4 Added some vegetation rendering optimizations 2015-11-10 01:12:14 +01:00
f990ec4032 Added control of perspective correction
This allows for some optimization in render tests and
improves low-quality render times
2015-11-10 00:34:19 +01:00
159e0f7e81 Optimized vegetation branches rendering 2015-11-10 00:15:30 +01:00
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
88d2a78b70 Enforced coding style using clang-format 2015-11-09 22:30:46 +01:00
72877c4361 Tweaked vegetation rendering, and improved render tests 2015-11-09 01:07:33 +01:00
bdb2a3edb8 Merge branch 'master' into vegetation 2015-11-08 23:33:09 +01:00
d82fc73531 Small optimizations (use reference to avoid object copy) 2015-11-08 23:32:52 +01:00
1e12b8ac9c vegetation: Now using sphere cap for leaves, to avoid flat effect 2015-11-04 01:08:48 +01:00
f68bba75bb Merge branch 'master' into vegetation 2015-11-02 23:40:00 +01:00
dc27590496 Improved estimated rendering time 2015-11-02 23:39:34 +01:00
2560fe2c53 Fixed holes in vegetation rendering 2015-11-02 23:00:02 +01:00
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
cd006e1093 Fixed vegetation renderer being randomly enabled 2015-10-19 19:14:45 +02:00
030be52f6f Merge branch 'master' into vegetation
Conflicts:
	src/definition/definition.pro
	src/render/software/software.pro
2015-10-19 17:40:17 +02:00
ca7bd84308 Simplified project files + lazy init of data files 2015-10-19 01:39:22 +02:00
d937bd08f6 vegetation: Added basic distribution algorithm 2015-10-19 00:30:20 +02:00
0ddec2393d Merge branch 'master' into vegetation 2015-10-19 00:29:47 +02:00
75e32beea7 Added NoiseNode 2015-10-19 00:26:25 +02:00
48dc1a8f25 Refactored vegetation presence 2015-10-18 22:15:19 +02:00
cd7f30ecae Add ability to disable vegetation rendering
It is disabled in opengl rendering for now
2015-10-18 17:35:42 +02:00
b430f6037e First draft of vegetation layers (WIP) 2015-10-18 17:26:19 +02:00
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
ac1b6a909b Extracted RayCastingResult header to speed-up compiling 2015-10-16 00:28:07 +02:00
e81487ae08 Added safety offset on lighting
This avoids shadow algorithm to hit the surface it is currently checking
2015-10-16 00:14:54 +02:00
cafa9b4c74 Added missing SurfaceMaterial::copy 2015-10-15 20:28:05 +02:00
2b3ecc7e35 Added geometry primitives 2015-10-15 20:21:32 +02:00
91cd564c59 Added SpaceGridIterator for SpaceSegment 2015-10-15 20:01:08 +02:00
a91fa41f8f Added Vector3::randomInSphere
For future use in vegetation
2015-10-15 19:51:24 +02:00
cd144b886c Added TimeManager with basic wind control for videos 2015-10-15 17:52:03 +02:00
c62cf3a0a4 Improved "near_frustum" render test 2015-10-09 00:55:36 +02:00
2be80bf8e2 Fixed aerial perspective being applied at wrong location in clouds
It was applied at the enter point of the walking algorithm, which
was the camera when it was inside a cloud layer.

Now it is applied at the first found segment, which is still not
optimal but better.

The bruneton model was also fixed to not produce black results for
aerial perspective exactly at the camera location.
2015-10-09 00:43:32 +02:00
a5c36f90f0 Fixed CLI overriding daytime even when not specified 2015-10-08 23:48:19 +02:00
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
652c66a2fa Fixed a random behavior in god rays tests
Due to an uninitialized value
2015-10-08 00:47:14 +02:00
98e3128c31 Added /atmosphere/godrays/ definition node 2015-09-30 01:08:15 +02:00
b045b731ad Added god rays manager (initial implementation) 2015-09-29 22:31:25 +02:00
6f2d23d960 Refactored lighting manager 2015-09-25 00:12:31 +02:00
ba02442fea Slightly improved cloud lighting 2015-09-24 00:13:52 +02:00
704fe839d9 Smoothed opacity in clouds 2015-09-22 18:17:00 +02:00
273585dd8a Fixed tool camera not reverting back to previous camera mode 2015-09-21 23:17:47 +02:00
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
63eb7b53eb Fixed watchers that could be added twice to the same definition node 2015-09-21 23:10:43 +02:00
c51d6d2d35 Fixed terrain painting not updating has_painting 2015-09-21 19:37:17 +02:00
ec69975146 Fixed uninitialized texture id in opengl
This could cause an invalid operation error at texture binding
2015-09-21 21:01:44 +02:00
7658bf256f Optimized terrain rendering
Painted height map is not queried anymore when empty
2015-09-21 01:36:03 +02:00
aacb4addd5 Optimized texture rendering
Texture layers fully masked by another are not shaded anymore
2015-09-21 00:42:58 +02:00
6e45fc4c2f Small performance improvement in opengl drawing 2015-09-15 18:18:24 +02:00
4fb7078815 Added rendered picture saving ui 2015-09-15 01:26:05 +02:00
20c03f84b7 Added an initial loading screen 2015-09-14 19:25:54 +02:00
84cb69e127 Added cancel button on render dialog 2015-09-14 01:35:25 +02:00
005c24fa85 Tweaked window and render sizes to keep full hd ratio
Also added medium render size
2015-09-14 00:48:55 +02:00
0c8a88cddb Added render time 2015-09-13 22:38:44 +02:00
c6272846ea Fixed camera Z-culling planes
This fixes artifacts in the sky rasterization
2015-09-13 20:08:14 +02:00
cd7eb2f669 Refactored clouds rendering quality factor 2015-09-13 18:58:11 +02:00
6a8fc7b102 Fixed atmosphere daytime control
Minute+1 button did add a wrong amount of time
2015-09-10 23:43:25 +02:00
2b5b35e3b4 Fixed specular lighting on water not being consistent between opengl and software 2015-09-10 23:41:15 +02:00
3c351bbe5c Color, Vector3 and CanvasFragment are now PODs
This can speed up CanvasPortion initialization
2015-09-10 22:06:50 +02:00
8d33a11dc5 Added rasterization quality control 2015-09-10 19:33:52 +02:00
6a45c5dba7 Refactored quality control of terrain rendering
Terrain scaling factor was removed for quality consistency
2015-09-10 18:16:57 +02:00
4fcf1d071c Added render tests from command line 2015-09-10 00:40:47 +02:00
035c957054 Fixed small UI issues 2015-09-09 00:08:01 +02:00
647e185e52 Added IntNode, IntPropertyBind, PanelPictureChoice and /water/model property 2015-09-08 23:52:34 +02:00
982af74c2d Added /water/reflection property 2015-09-08 01:00:34 +02:00
3cb287dfeb Removed dependency to GLU 2015-09-07 01:20:57 +02:00