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
a96699dece
Added mouse tracking on 3d view for future operations
2015-09-07 01:15:59 +02:00
1361c5c654
ui: Fixed some state issues
2015-08-28 11:40:35 +02:00
45f10440ec
Fixed top-down camera switching
2015-08-26 00:49:52 +02:00
0cf8b0fcee
Fixed opengl humidity rendering
2015-08-26 00:40:10 +02:00
623a3606eb
Fixed UI not reverting to previous state when exiting render dialog
2015-08-26 00:28:12 +02:00
c450774995
Applied atmosphere humidity to opengl renderer
2015-08-25 23:33:47 +02:00
ffe5b38ad8
Fixed a segfault at application exit
2015-08-25 01:09:11 +02:00
98f0708d3e
Fixed OpenGL rendering ratio being discarded on camera move
2015-08-25 00:52:33 +02:00
1077e4dca3
Fixed OpenGL viewport being updated at each frame
...
That could cause ratio flickering on paint() on some devices
2015-08-24 19:38:59 +02:00
9b2c60fe16
DefinitionNode.copy now copies children automatically
2015-08-24 01:23:05 +02:00
c199bef7f2
Added /atmosphere/humidity control
2015-08-24 01:19:19 +02:00
625507e11d
Fixed mouse events being processed by both controls and OpenGLView
2015-08-24 00:53:24 +02:00
b2a458b1f2
Refactoring of QML states
2015-08-24 00:39:31 +02:00
d6233c70f0
Fixed small memory leaks
2015-08-23 22:44:45 +02:00
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
e8d91e30ac
Partially worked around atmosphere artifacts using an offset to ground
2015-08-21 01:19:55 +02:00
0579cc2c3c
Added shortcut information in tooltips
2015-08-21 00:46:42 +02:00
edc60113d9
Added render buttons
2015-08-21 00:41:14 +02:00
28c9c08d74
Added water rendering toggle in opengl
2015-08-21 00:25:34 +02:00
13c8816f9e
Fixed water height not resetting when creating new scene
2015-08-20 23:11:07 +02:00
f19433457e
More detailed terrain tessellation in opengl renderer
2015-08-20 23:07:09 +02:00
7dd70e7bca
Tweaked camera speed
2015-08-20 19:02:11 +02:00
05d0680210
Top-down camera is now set relative to render camera
2015-08-20 01:30:46 +02:00
5c90e1ef07
Improved "time of day" UI
2015-08-20 01:15:08 +02:00
bbec14d904
Fixed atmosphere saving to file
2015-08-19 22:07:44 +02:00
87acc42041
Experimental scenery generate/save/load from UI
2015-08-19 20:06:47 +02:00
3599c3aecf
Fixed clouds layers being deleted in scenery by opengl renderer
2015-08-19 19:28:36 +02:00
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
fde385a51a
Fixed initial textures definition
2015-08-19 18:14:15 +02:00
100ee0eec1
Fixed underwater terrain detection in opengl renderer
2015-08-19 17:22:14 +02:00
95d2f55ebf
Fixed atmosphere daytime control binding
2015-08-19 01:18:16 +02:00
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
9a177352ba
Fixed OpenGL camera management
2015-08-18 22:47:18 +02:00
56dae1e38e
Don't copy scenery in the renderer
2015-08-18 22:29:18 +02:00
db0be5204f
Switched /atmosphere/daytime to new definition system
2015-08-18 20:31:11 +02:00