Commit graph

583 commits

Author SHA1 Message Date
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
e96fdd9721 Added pause of opengl renderer while rendering picture 2015-08-18 19:12:54 +02:00
0cf2add322 Fixed UI elements visibility and input issues 2015-08-18 18:22:16 +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
67bd80fba5 Fixed undo/redo system 2015-08-17 18:18:31 +02:00
5afd5ec24a Added DiffManager system, with simple undo/redo 2015-08-17 00:29:54 +02:00
1eef1ef429 Start of undo/redo system (added DefinitionDiff) 2015-08-16 23:01:56 +02:00
d78bd2553c Added unit tests for FloatNode 2015-08-14 00:22:20 +02:00
d65bc18342 Fixed compiler warnings 2015-08-13 23:59:27 +02:00
0fc10fd28b Added FloatNode and smart save/load of definition tree
Node children are now saved with their name, and if a child is not found,
it is skipped. This will allow for backward/forward compatibility of saves.
2015-08-13 23:46:50 +02:00
6062c755b5 Fixed layers saving/loading
Global scenery save/load testing was also improved to detect these cases better
2015-08-13 19:49:16 +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
42d3ae4ceb Renamed BaseDefinition to DefinitionNode 2015-08-12 22:21:10 +02:00
a4edc9568b Restored progress display in CLI render 2015-08-12 22:11:26 +02:00
6f8e0c3cfd Fixed some memory issues 2015-08-12 19:29:28 +02:00
44c03e46a9 Tweaked opengl terrain tessellation to speed up rendering 2015-08-12 17:26:17 +02:00
26fb112da1 Added name to all BaseDefinition and toString representation
Also fixed deletion of children in the definition tree,
to handle dynamic and static destructor calls.
2015-08-12 17:02:27 +02:00
7d79b6f772 Added scenery save/load testing 2015-08-04 00:00:56 +02:00
0585bc4b6f Removed old QtWidget UI 2015-07-28 19:03:10 +02:00
fc15f7d9b8 Added ground texture resetting while changing time of day 2015-07-26 18:30:30 +02:00
e84698dbb3 Added shortcut to show previous render again 2015-07-23 00:28:27 +02:00
efcbeecf3e Added speed factor in camera control 2015-07-22 21:30:56 +02:00
8c2091de03 Added render progress bar 2015-07-22 19:23:22 +02:00
2de920e091 Fixed quick ui camera to stay above ground and water 2015-07-22 18:39:46 +02:00
2c877953e7 Improved basic quick ui usability 2015-07-22 18:05:24 +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
1cc3a4d625 quick ui : Added basic camera controls 2014-09-26 17:46:39 +02:00
57b90af132 Added progressive camera change to opengl view 2014-09-18 17:38:37 +02:00
872e191fea Merge branch 'master' into quick_ui 2014-09-18 11:39:56 +02:00
553b6b2896 Improved data files locator 2014-09-18 11:39:36 +02:00
f869c2a01d Fix compile in debug mode 2014-09-18 10:09:25 +02:00
0c3a498cae Merge branch 'master' into quick_ui 2014-09-18 09:25:16 +02:00
4a01a4314a Refactored TerrainHeightMap to PaintedGrid for future reuse 2014-09-15 12:32:27 +02:00
5eed701803 Removed unused Circle system from Zone 2014-09-15 09:36:48 +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
2251db361c WIP on QtQuick toolbars 2014-08-28 10:29:12 +02:00
d909ff380f Fixed opengl drawing in qtquick window 2014-08-27 18:19:48 +02:00
3814f63ac0 Experiments on toolbars 2014-08-27 17:23:59 +02:00
0e2e0a05eb Refactored QtQuick UI to work in QtCreator 2014-08-27 15:18:08 +02:00
078bab62fc Merge branch 'master' into quick_ui
Conflicts:
	src/paysages.pro
2014-08-27 13:55:51 +02:00
6d834030f0 Use version 1.7.0 of google test 2014-08-25 21:09:42 +02:00
e1aceaaf14 Externalized googletest as a git submodule 2014-08-25 21:05:33 +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
0d659d2e44 WIP on quick ui prototype 2014-08-19 17:37:24 +02:00
f7d84afb79 Added primary toolbar to qt quick prototype 2014-08-19 17:01:42 +02:00
9f438a3f84 Prototype of experimental UI using Qt Quick 2014-08-19 15:49:08 +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
fb3d32baf4 Removed old render area code in dialogrender 2014-08-16 13:41:02 +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
69fba0fc69 Fixed some unit tests issues 2014-05-20 10:39:02 +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
b9ebf06188 Fixed path of resources in UI files 2014-02-24 22:30:27 +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
67ae34ddbd Added NoiseState offsets to FractalNoise 2014-01-01 18:21:34 +01:00
22cf9fde51 Started the new FractalNoise implementation 2014-01-01 17:45:50 +01:00
5579045604 Fixed the terrain walker hitting displacement immediately at high quality 2013-12-31 16:55:10 +01:00
79458da771 Fixed broken unit tests 2013-12-31 15:56:30 +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
0ebdff628b More realistic water presets 2013-12-25 19:55:05 +01:00
a9a6134633 Fixed material dialog validation and made material hardness to work 2013-12-25 19:45:56 +01:00
5c253081a0 Made bruneton source code dump intermediary textures
... but they produce more artifacts than my modified version,
so it's not immediately usable.
2013-12-25 18:01:44 +01:00
19d4c3444f Added bruneton original source code for atmospheric scattering 2013-12-25 16:42: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
806ab74244 Fixed camera definition to avoid going underground in opengl view 2013-12-24 13:30: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