Commit graph

297 commits

Author SHA1 Message Date
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
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
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
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
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
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
20c03f84b7 Added an initial loading screen 2015-09-14 19:25:54 +02:00
0c8a88cddb Added render time 2015-09-13 22:38:44 +02:00
cd7eb2f669 Refactored clouds rendering quality factor 2015-09-13 18:58:11 +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
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
0cf8b0fcee Fixed opengl humidity rendering 2015-08-26 00:40:10 +02:00
c450774995 Applied atmosphere humidity to opengl renderer 2015-08-25 23:33:47 +02:00
98f0708d3e Fixed OpenGL rendering ratio being discarded on camera move 2015-08-25 00:52:33 +02:00
c199bef7f2 Added /atmosphere/humidity control 2015-08-24 01:19:19 +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
28c9c08d74 Added water rendering toggle in opengl 2015-08-21 00:25:34 +02:00
f19433457e More detailed terrain tessellation in opengl renderer 2015-08-20 23:07:09 +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
100ee0eec1 Fixed underwater terrain detection in opengl renderer 2015-08-19 17:22:14 +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
e96fdd9721 Added pause of opengl renderer while rendering picture 2015-08-18 19:12:54 +02:00
8fa0d8af29 Added DefinitionWatcher system
Also switched to the new definition system for /terrain/water_height
2015-08-17 22:55:30 +02:00
d65bc18342 Fixed compiler warnings 2015-08-13 23:59:27 +02:00
46e9e73793 Refactored logging system using iostream 2015-08-13 00:33:16 +02:00
a8ae50df94 Removed unused preview renderers 2015-08-12 22:53:54 +02:00
44c03e46a9 Tweaked opengl terrain tessellation to speed up rendering 2015-08-12 17:26:17 +02:00
fc15f7d9b8 Added ground texture resetting while changing time of day 2015-07-26 18:30:30 +02:00
261eb5a674 opengl: Replaced temp lighting with sun transmission lighting 2014-11-21 11:40:47 +01:00
f7715b612e Changed some old int-bools to true booleans 2014-11-21 09:45:19 +01:00
57b90af132 Added progressive camera change to opengl view 2014-09-18 17:38:37 +02:00
06a8227de3 Added quick render to QtQuick UI 2014-09-09 17:56:52 +02:00
d0a5f19cc5 Added daytime control to QtQuick UI 2014-08-28 19:46:06 +02:00
d909ff380f Fixed opengl drawing in qtquick window 2014-08-27 18:19:48 +02:00
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
99aff57d6c Optimized output picture saving 2014-08-21 22:23:04 +02:00
0abfa97295 Merge branch 'cloud_types'
Conflicts:
	src/render/software/software.pro
2014-08-21 21:31:29 +02:00
1afcb907c4 Optimized and fixed canvas portion merging in final picture 2014-08-21 15:30:09 +02:00
04f6ab732d Normalize colors before writing to final picture 2014-08-21 14:53:49 +02:00
c39ef6adce Restored final picture saving (in constant memory usage) 2014-08-21 12:36:28 +02:00
6c4a16966c Larger maximal canvas portion size 2014-08-21 10:11:44 +02:00
0bb1cf5bed Added canvas portion writing to disk 2014-08-21 09:58:11 +02:00
13904be001 Optimization: replaced some divisions by inverse multiplications 2014-08-20 16:45:45 +02:00
14e0320848 Restored (partially) render progress 2014-08-20 15:58:37 +02:00
18a669675f Restored tone mapping control of canvas preview 2014-08-20 14:31:28 +02:00
8ef8b0386c Canvas preview widget is immediately sized (so that render dialog don't resize later) 2014-08-20 14:23:35 +02:00
2b135eedac Removed old render_progress in SoftwareRenderer 2014-08-19 14:20:37 +02:00
1bf6d9382b Removed size information from SoftwareRenderer + removed full render tests 2014-08-19 12:22:27 +02:00
0c48fb075f Rasterizers now use their own interrupt system 2014-08-19 11:44:54 +02:00
915f43503e Removed unused ParallelQueue 2014-08-19 11:32:23 +02:00
dc3584cefc Check canvas preview coordinates to avoid segfault 2014-08-19 11:25:27 +02:00
8f24d54568 Restored render interruption 2014-08-19 09:18:55 +02:00
31b74c660e Iterate over portions to render the whole canvas 2014-08-18 17:33:15 +02:00
3a2ec1c75f Only allocate canvas portion pixels when needed
This will allow for larger renders in constant memory footprint
2014-08-18 17:16:17 +02:00
c9fa33984b Restored color profile in canvas preview 2014-08-18 16:33:09 +02:00
9c2d545e6a Fixed parallel canvas shading 2014-08-18 16:25:44 +02:00
b5ee4c432f Added parallel pixel shader for second-pass rendering 2014-08-18 16:04:46 +02:00
0566f2bdd8 Refactored ParallelWork for better performance 2014-08-18 15:20:04 +02:00
2aeecdec62 WIP on canvas pixel shading 2014-08-18 12:17:16 +02:00
b86669c5a0 Added color to rasterized polygons 2014-08-16 13:34:55 +02:00
bc34a2b823 Removed RenderArea and added terrain rasterization to canvas 2014-06-18 22:10:46 +02:00
f94d93ae60 Fixed canvas Z-index 2014-06-18 20:10:05 +02:00
cf58bea1b7 WIP on new canvas system 2014-06-12 17:45:59 +02:00
8099361cc9 WIP on new canvas system 2014-06-10 15:13:16 +02:00
43431aae87 New Canvas software rendering structure (WIP) 2014-06-05 17:12:49 +02:00
c57c5f45d4 Merge branch 'master' into water_shader 2014-05-20 09:55:44 +02:00
1158aa248b cloud_types: Added cumulo-nimbus model 2014-03-18 21:27:35 +01:00
eea639a7fb cloud_types: Added cirrus model 2014-03-18 21:17:41 +01:00
0ab61f8060 cloud_types: Added alto cumulus model 2014-03-18 21:08:17 +01:00
49564acc3c Fixed build for windows systems 2014-03-01 01:34:34 +01:00
6e323dbea7 BasePreview no longer fix its own size in constructor
This prevented free-sized previews from correctly sizing
2014-02-24 22:25:53 +01:00
a610d69f84 opengl: Fixed artifacts on water reflection 2014-01-21 22:31:17 +01:00
3e72fc7bf8 Replaced NoiseGenerator by NoiseState in WaterDefinition 2014-01-21 21:51:11 +01:00
e79692bb5d Refactored noise shader 2014-01-21 21:41:15 +01:00
25d9a95141 Water is now always at y=0.0 2014-01-06 20:22:00 +01:00
33c5d89783 Added skybox reflection to water shader 2014-01-05 22:20:15 +01:00
49b7055655 [WIP] Use simple normal map for opengl water 2014-01-05 21:52:09 +01:00
c52eeac71d [WIP] Added the simplex sampler to opengl water shader 2014-01-05 20:37:51 +01:00
98646efb99 Fixed camera reverting in 3d explorer not reverting fov slider 2014-01-04 11:43:40 +01:00
ec71b09f2e [WIP] Texture form previews 2014-01-02 17:36:19 +01:00
f0ed8d4b4a Added textures mix preview 2014-01-02 15:19:20 +01:00
1db49afaed Restored correct terrain tessellation 2014-01-02 15:08:00 +01:00
5579045604 Fixed the terrain walker hitting displacement immediately at high quality 2013-12-31 16:55:10 +01:00
e61dae6f0a Added NoiseState to maintain the noise offsets in clouds 2013-12-31 15:50:28 +01:00
123e434b0a Small adjustements 2013-12-30 17:22:01 +01:00
1131972759 Improved the opengl terrain rendering queue 2013-12-30 16:02:33 +01:00
eb795b0f83 Added camera FOV control (and better initial fov) 2013-12-30 14:59:42 +01:00
134158c33a Stars optimization and small tweaks 2013-12-29 18:44:12 +01:00
220fe89b05 Use the new terrain walker for improved shadows 2013-12-29 18:18:18 +01:00
eabe68b77d New terrain walker (now used for ray casting) 2013-12-29 14:14:49 +01:00
938242a7de Optimization for moon lighting 2013-12-26 19:03:19 +01:00
0e837f00c6 Added lighting done by moon 2013-12-26 18:28:25 +01:00
3786b21e15 Added stars to night sky 2013-12-26 17:30:22 +01:00
c651b436ab Added moon configuration 2013-12-26 16:55:37 +01:00
d2f49a124f Added moon basic lighting 2013-12-26 16:35:29 +01:00
6589589ad4 Added basic night sky with a plain moon 2013-12-26 15:36:15 +01:00
a9a6134633 Fixed material dialog validation and made material hardness to work 2013-12-25 19:45:56 +01:00
de79f912c3 Moved small things from WidgetExplorer to OpenGLRenderer 2013-12-24 16:36:45 +01:00
742b93d3d9 Small fixes to opengl rendering 2013-12-24 15:00:32 +01:00
3d54ce974a Added view distance blending in opengl renderer 2013-12-24 13:22:34 +01:00
74e707a989 Fixed water color in opengl rendering 2013-12-24 11:48:06 +01:00
bf47e058ee Rendering terrain chunks with new shader system 2013-12-24 11:44:39 +01:00
f97823604e Introduced VertexArray object to handle terrain vertex data
This will be used later with opengl vertex arrays
2013-12-23 17:24:05 +01:00
ac5c0fd584 Refactored opengl terrain rendering for future use of shaders 2013-12-23 14:09:52 +01:00
8098482d50 Retrograded to OpenGL 3.0 functions 2013-12-23 10:26:29 +01:00
39789aea3f Allow shaders source code to be split in several files (and thus included) 2013-12-22 18:47:24 +01:00
992089f0ef Added textures to OpenGLSharedState 2013-12-22 18:05:11 +01:00
645bada91b Added camera to OpenGLSharedState 2013-12-22 17:30:48 +01:00
666420bbb2 New OpenGLSharedState class to manage shader variables 2013-12-22 15:04:33 +01:00
994dcb5f44 Add aerial perspective to water shader 2013-12-22 01:17:57 +01:00
3696adc90b Use opengl shaders for water rendering 2013-12-22 00:41:19 +01:00
65e5a194ba Use QOpenGLFunctions for gl* calls (except legacy code) 2013-12-22 00:10:18 +01:00
7b790d2015 Switched opengl skybox to shaders 2013-12-21 23:48:54 +01:00
c497cf2127 Restored clouds aspect preview 2013-12-20 17:30:27 +01:00
1d9f622a26 Small cloud adjustments 2013-12-19 18:19:18 +01:00
5f8cd19e0c Fixed preview updates drawing outside pixbuf on resize 2013-12-19 15:22:49 +01:00
a3d2150349 Restored clouds rendering 2013-12-18 22:09:35 +01:00
3271b7ed5e WIP on restoring clouds rendering 2013-12-17 23:45:09 +01:00
192aa7604e Fixed several minor memory race bugs 2013-12-17 23:01:36 +01:00
97b9992aa4 Small optimization 2013-12-15 19:03:57 +01:00
6b5a652d5c Fixed several renderer problems due to scenery sharing 2013-12-15 18:44:54 +01:00
cc9c68bef9 Fixed layers not adding children to BaseDefinition 2013-12-15 15:33:54 +01:00
bd29ee97cf Fixed top-down preview and opengl renderer 2013-12-15 15:18:11 +01:00
1685efcfbe Fixed opengl explorer 2013-12-15 15:06:43 +01:00
02bf40c3c6 Fixed top-down render preview 2013-12-15 14:50:43 +01:00
a814a530de Fixed rendering camera not being applied 2013-12-15 14:45:38 +01:00