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
236db15fdb
Merge branch 'master' into vegetation
2015-11-18 22:22:30 +01:00
Michaël Lemaire
10f8f46ca6
Fixed CanvasPortion using the same temp files across processes
2015-11-18 22:22:09 +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
63a9f780ca
Merge branch 'master' into vegetation
2015-11-18 18:39:50 +01:00
Michaël Lemaire
65b4cd150c
Fixed render camera size being inconsistent between renderers
2015-11-18 18:39:31 +01:00
Michaël Lemaire
e2d03642f4
Added some vegetation rendering optimizations
2015-11-10 01:12:14 +01:00
Michaël Lemaire
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
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
f68bba75bb
Merge branch 'master' into vegetation
2015-11-02 23:40:00 +01:00
Michaël Lemaire
dc27590496
Improved estimated rendering time
2015-11-02 23:39:34 +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
cd006e1093
Fixed vegetation renderer being randomly enabled
2015-10-19 19:14:45 +02: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
48dc1a8f25
Refactored vegetation presence
2015-10-18 22:15:19 +02:00
Michaël Lemaire
cd7f30ecae
Add ability to disable vegetation rendering
...
It is disabled in opengl rendering for now
2015-10-18 17:35:42 +02:00
Michaël Lemaire
b430f6037e
First draft of vegetation layers (WIP)
2015-10-18 17:26:19 +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
ac1b6a909b
Extracted RayCastingResult header to speed-up compiling
2015-10-16 00:28:07 +02:00
Michaël Lemaire
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
Michaël Lemaire
cd144b886c
Added TimeManager with basic wind control for videos
2015-10-15 17:52:03 +02:00
Michaël Lemaire
c62cf3a0a4
Improved "near_frustum" render test
2015-10-09 00:55:36 +02:00
Michaël Lemaire
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
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
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
ba02442fea
Slightly improved cloud lighting
2015-09-24 00:13:52 +02:00
Michaël Lemaire
704fe839d9
Smoothed opacity in clouds
2015-09-22 18:17:00 +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
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
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
aacb4addd5
Optimized texture rendering
...
Texture layers fully masked by another are not shaded anymore
2015-09-21 00:42:58 +02:00
Michaël Lemaire
6e45fc4c2f
Small performance improvement in opengl drawing
2015-09-15 18:18:24 +02:00
Michaël Lemaire
20c03f84b7
Added an initial loading screen
2015-09-14 19:25:54 +02:00
Michaël Lemaire
0c8a88cddb
Added render time
2015-09-13 22:38:44 +02:00
Michaël Lemaire
cd7eb2f669
Refactored clouds rendering quality factor
2015-09-13 18:58:11 +02:00
Michaël Lemaire
2b5b35e3b4
Fixed specular lighting on water not being consistent between opengl and software
2015-09-10 23:41:15 +02:00
Michaël Lemaire
3c351bbe5c
Color, Vector3 and CanvasFragment are now PODs
...
This can speed up CanvasPortion initialization
2015-09-10 22:06:50 +02:00
Michaël Lemaire
8d33a11dc5
Added rasterization quality control
2015-09-10 19:33:52 +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
4fcf1d071c
Added render tests from command line
2015-09-10 00:40:47 +02:00
Michaël Lemaire
982af74c2d
Added /water/reflection property
2015-09-08 01:00:34 +02:00
Michaël Lemaire
3cb287dfeb
Removed dependency to GLU
2015-09-07 01:20:57 +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
0cf8b0fcee
Fixed opengl humidity rendering
2015-08-26 00:40:10 +02:00
Michaël Lemaire
c450774995
Applied atmosphere humidity to opengl renderer
2015-08-25 23:33:47 +02:00
Michaël Lemaire
98f0708d3e
Fixed OpenGL rendering ratio being discarded on camera move
2015-08-25 00:52:33 +02:00
Michaël Lemaire
c199bef7f2
Added /atmosphere/humidity control
2015-08-24 01:19:19 +02:00
Michaël Lemaire
d6233c70f0
Fixed small memory leaks
2015-08-23 22:44:45 +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
e8d91e30ac
Partially worked around atmosphere artifacts using an offset to ground
2015-08-21 01:19:55 +02:00
Michaël Lemaire
28c9c08d74
Added water rendering toggle in opengl
2015-08-21 00:25:34 +02:00
Michaël Lemaire
f19433457e
More detailed terrain tessellation in opengl renderer
2015-08-20 23:07:09 +02:00
Michaël Lemaire
87acc42041
Experimental scenery generate/save/load from UI
2015-08-19 20:06:47 +02:00
Michaël Lemaire
3599c3aecf
Fixed clouds layers being deleted in scenery by opengl renderer
2015-08-19 19:28:36 +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
100ee0eec1
Fixed underwater terrain detection in opengl renderer
2015-08-19 17:22:14 +02:00
Michaël Lemaire
9a177352ba
Fixed OpenGL camera management
2015-08-18 22:47:18 +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
e96fdd9721
Added pause of opengl renderer while rendering picture
2015-08-18 19:12:54 +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
d65bc18342
Fixed compiler warnings
2015-08-13 23:59:27 +02:00
Michaël Lemaire
46e9e73793
Refactored logging system using iostream
2015-08-13 00:33:16 +02:00
Michaël Lemaire
a8ae50df94
Removed unused preview renderers
2015-08-12 22:53:54 +02:00
Michaël Lemaire
44c03e46a9
Tweaked opengl terrain tessellation to speed up rendering
2015-08-12 17:26:17 +02:00
Michaël Lemaire
fc15f7d9b8
Added ground texture resetting while changing time of day
2015-07-26 18:30:30 +02:00
Michaël Lemaire
261eb5a674
opengl: Replaced temp lighting with sun transmission lighting
2014-11-21 11:40:47 +01:00
Michaël Lemaire
f7715b612e
Changed some old int-bools to true booleans
2014-11-21 09:45:19 +01:00
Michaël Lemaire
57b90af132
Added progressive camera change to opengl view
2014-09-18 17:38:37 +02:00
Michaël Lemaire
06a8227de3
Added quick render to QtQuick UI
2014-09-09 17:56:52 +02:00
Michaël Lemaire
d0a5f19cc5
Added daytime control to QtQuick UI
2014-08-28 19:46:06 +02:00
Michaël Lemaire
d909ff380f
Fixed opengl drawing in qtquick window
2014-08-27 18:19:48 +02:00
Michaël Lemaire
818d82607e
Optimized lighting of underwater terrain
...
The water light filter is now applied first to avoid computing
terrain shadows when no light passes through the water layer.
2014-08-22 17:34:07 +02:00
Michaël Lemaire
99aff57d6c
Optimized output picture saving
2014-08-21 22:23:04 +02:00
Michaël Lemaire
0abfa97295
Merge branch 'cloud_types'
...
Conflicts:
src/render/software/software.pro
2014-08-21 21:31:29 +02:00
Michaël Lemaire
1afcb907c4
Optimized and fixed canvas portion merging in final picture
2014-08-21 15:30:09 +02:00
Michaël Lemaire
04f6ab732d
Normalize colors before writing to final picture
2014-08-21 14:53:49 +02:00
Michaël Lemaire
c39ef6adce
Restored final picture saving (in constant memory usage)
2014-08-21 12:36:28 +02:00
Michaël Lemaire
6c4a16966c
Larger maximal canvas portion size
2014-08-21 10:11:44 +02:00
Michaël Lemaire
0bb1cf5bed
Added canvas portion writing to disk
2014-08-21 09:58:11 +02:00
Michaël Lemaire
13904be001
Optimization: replaced some divisions by inverse multiplications
2014-08-20 16:45:45 +02:00
Michaël Lemaire
14e0320848
Restored (partially) render progress
2014-08-20 15:58:37 +02:00
Michaël Lemaire
18a669675f
Restored tone mapping control of canvas preview
2014-08-20 14:31:28 +02:00
Michaël Lemaire
8ef8b0386c
Canvas preview widget is immediately sized (so that render dialog don't resize later)
2014-08-20 14:23:35 +02:00
Michaël Lemaire
2b135eedac
Removed old render_progress in SoftwareRenderer
2014-08-19 14:20:37 +02:00