Commit graph

501 commits

Author SHA1 Message Date
Michaël Lemaire 623a3606eb Fixed UI not reverting to previous state when exiting render dialog 2015-08-26 00:28:12 +02:00
Michaël Lemaire c450774995 Applied atmosphere humidity to opengl renderer 2015-08-25 23:33:47 +02:00
Michaël Lemaire ffe5b38ad8 Fixed a segfault at application exit 2015-08-25 01:09:11 +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 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
Michaël Lemaire 9b2c60fe16 DefinitionNode.copy now copies children automatically 2015-08-24 01:23:05 +02:00
Michaël Lemaire c199bef7f2 Added /atmosphere/humidity control 2015-08-24 01:19:19 +02:00
Michaël Lemaire 625507e11d Fixed mouse events being processed by both controls and OpenGLView 2015-08-24 00:53:24 +02:00
Michaël Lemaire b2a458b1f2 Refactoring of QML states 2015-08-24 00:39:31 +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 0579cc2c3c Added shortcut information in tooltips 2015-08-21 00:46:42 +02:00
Michaël Lemaire edc60113d9 Added render buttons 2015-08-21 00:41:14 +02:00
Michaël Lemaire 28c9c08d74 Added water rendering toggle in opengl 2015-08-21 00:25:34 +02:00
Michaël Lemaire 13c8816f9e Fixed water height not resetting when creating new scene 2015-08-20 23:11:07 +02:00
Michaël Lemaire f19433457e More detailed terrain tessellation in opengl renderer 2015-08-20 23:07:09 +02:00
Michaël Lemaire 7dd70e7bca Tweaked camera speed 2015-08-20 19:02:11 +02:00
Michaël Lemaire 05d0680210 Top-down camera is now set relative to render camera 2015-08-20 01:30:46 +02:00
Michaël Lemaire 5c90e1ef07 Improved "time of day" UI 2015-08-20 01:15:08 +02:00
Michaël Lemaire bbec14d904 Fixed atmosphere saving to file 2015-08-19 22:07:44 +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 fde385a51a Fixed initial textures definition 2015-08-19 18:14:15 +02:00
Michaël Lemaire 100ee0eec1 Fixed underwater terrain detection in opengl renderer 2015-08-19 17:22:14 +02:00
Michaël Lemaire 95d2f55ebf Fixed atmosphere daytime control binding 2015-08-19 01:18:16 +02:00
Michaël Lemaire 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
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 0cf2add322 Fixed UI elements visibility and input issues 2015-08-18 18:22:16 +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 67bd80fba5 Fixed undo/redo system 2015-08-17 18:18:31 +02:00
Michaël Lemaire 5afd5ec24a Added DiffManager system, with simple undo/redo 2015-08-17 00:29:54 +02:00
Michaël Lemaire 1eef1ef429 Start of undo/redo system (added DefinitionDiff) 2015-08-16 23:01:56 +02:00
Michaël Lemaire d78bd2553c Added unit tests for FloatNode 2015-08-14 00:22:20 +02:00
Michaël Lemaire d65bc18342 Fixed compiler warnings 2015-08-13 23:59:27 +02:00
Michaël Lemaire 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
Michaël Lemaire 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
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 42d3ae4ceb Renamed BaseDefinition to DefinitionNode 2015-08-12 22:21:10 +02:00
Michaël Lemaire a4edc9568b Restored progress display in CLI render 2015-08-12 22:11:26 +02:00
Michaël Lemaire 6f8e0c3cfd Fixed some memory issues 2015-08-12 19:29:28 +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 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
Michaël Lemaire 7d79b6f772 Added scenery save/load testing 2015-08-04 00:00:56 +02:00
Michaël Lemaire 0585bc4b6f Removed old QtWidget UI 2015-07-28 19:03:10 +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 e84698dbb3 Added shortcut to show previous render again 2015-07-23 00:28:27 +02:00
Michaël Lemaire efcbeecf3e Added speed factor in camera control 2015-07-22 21:30:56 +02:00
Michaël Lemaire 8c2091de03 Added render progress bar 2015-07-22 19:23:22 +02:00
Michaël Lemaire 2de920e091 Fixed quick ui camera to stay above ground and water 2015-07-22 18:39:46 +02:00
Michaël Lemaire 2c877953e7 Improved basic quick ui usability 2015-07-22 18:05:24 +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 1cc3a4d625 quick ui : Added basic camera controls 2014-09-26 17:46:39 +02:00
Michaël Lemaire 57b90af132 Added progressive camera change to opengl view 2014-09-18 17:38:37 +02:00
Michaël Lemaire 872e191fea Merge branch 'master' into quick_ui 2014-09-18 11:39:56 +02:00
Michaël Lemaire 553b6b2896 Improved data files locator 2014-09-18 11:39:36 +02:00
Michaël Lemaire f869c2a01d Fix compile in debug mode 2014-09-18 10:09:25 +02:00
Michaël Lemaire 0c3a498cae Merge branch 'master' into quick_ui 2014-09-18 09:25:16 +02:00
Michaël Lemaire 4a01a4314a Refactored TerrainHeightMap to PaintedGrid for future reuse 2014-09-15 12:32:27 +02:00
Michaël Lemaire 5eed701803 Removed unused Circle system from Zone 2014-09-15 09:36:48 +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 2251db361c WIP on QtQuick toolbars 2014-08-28 10:29:12 +02:00
Michaël Lemaire d909ff380f Fixed opengl drawing in qtquick window 2014-08-27 18:19:48 +02:00
Michaël Lemaire 3814f63ac0 Experiments on toolbars 2014-08-27 17:23:59 +02:00
Michaël Lemaire 0e2e0a05eb Refactored QtQuick UI to work in QtCreator 2014-08-27 15:18:08 +02:00
Michaël Lemaire 078bab62fc Merge branch 'master' into quick_ui
Conflicts:
	src/paysages.pro
2014-08-27 13:55:51 +02:00
Michaël Lemaire 6d834030f0 Use version 1.7.0 of google test 2014-08-25 21:09:42 +02:00
Michaël Lemaire e1aceaaf14 Externalized googletest as a git submodule 2014-08-25 21:05:33 +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 0d659d2e44 WIP on quick ui prototype 2014-08-19 17:37:24 +02:00
Michaël Lemaire f7d84afb79 Added primary toolbar to qt quick prototype 2014-08-19 17:01:42 +02:00
Michaël Lemaire 9f438a3f84 Prototype of experimental UI using Qt Quick 2014-08-19 15:49:08 +02:00
Michaël Lemaire 2b135eedac Removed old render_progress in SoftwareRenderer 2014-08-19 14:20:37 +02:00
Michaël Lemaire 1bf6d9382b Removed size information from SoftwareRenderer + removed full render tests 2014-08-19 12:22:27 +02:00
Michaël Lemaire 0c48fb075f Rasterizers now use their own interrupt system 2014-08-19 11:44:54 +02:00
Michaël Lemaire 915f43503e Removed unused ParallelQueue 2014-08-19 11:32:23 +02:00
Michaël Lemaire dc3584cefc Check canvas preview coordinates to avoid segfault 2014-08-19 11:25:27 +02:00
Michaël Lemaire 8f24d54568 Restored render interruption 2014-08-19 09:18:55 +02:00
Michaël Lemaire 31b74c660e Iterate over portions to render the whole canvas 2014-08-18 17:33:15 +02:00
Michaël Lemaire 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
Michaël Lemaire c9fa33984b Restored color profile in canvas preview 2014-08-18 16:33:09 +02:00
Michaël Lemaire 9c2d545e6a Fixed parallel canvas shading 2014-08-18 16:25:44 +02:00
Michaël Lemaire b5ee4c432f Added parallel pixel shader for second-pass rendering 2014-08-18 16:04:46 +02:00
Michaël Lemaire 0566f2bdd8 Refactored ParallelWork for better performance 2014-08-18 15:20:04 +02:00
Michaël Lemaire 2aeecdec62 WIP on canvas pixel shading 2014-08-18 12:17:16 +02:00
Michaël Lemaire fb3d32baf4 Removed old render area code in dialogrender 2014-08-16 13:41:02 +02:00
Michaël Lemaire b86669c5a0 Added color to rasterized polygons 2014-08-16 13:34:55 +02:00
Michaël Lemaire bc34a2b823 Removed RenderArea and added terrain rasterization to canvas 2014-06-18 22:10:46 +02:00
Michaël Lemaire f94d93ae60 Fixed canvas Z-index 2014-06-18 20:10:05 +02:00
Michaël Lemaire cf58bea1b7 WIP on new canvas system 2014-06-12 17:45:59 +02:00
Michaël Lemaire 8099361cc9 WIP on new canvas system 2014-06-10 15:13:16 +02:00
Michaël Lemaire 43431aae87 New Canvas software rendering structure (WIP) 2014-06-05 17:12:49 +02:00
Michaël Lemaire 69fba0fc69 Fixed some unit tests issues 2014-05-20 10:39:02 +02:00
Michaël Lemaire c57c5f45d4 Merge branch 'master' into water_shader 2014-05-20 09:55:44 +02:00
Michaël Lemaire 1158aa248b cloud_types: Added cumulo-nimbus model 2014-03-18 21:27:35 +01:00
Michaël Lemaire eea639a7fb cloud_types: Added cirrus model 2014-03-18 21:17:41 +01:00
Michaël Lemaire 0ab61f8060 cloud_types: Added alto cumulus model 2014-03-18 21:08:17 +01:00
Michaël Lemaire 49564acc3c Fixed build for windows systems 2014-03-01 01:34:34 +01:00
Michaël Lemaire b9ebf06188 Fixed path of resources in UI files 2014-02-24 22:30:27 +01:00
Michaël Lemaire 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
Michaël Lemaire a610d69f84 opengl: Fixed artifacts on water reflection 2014-01-21 22:31:17 +01:00
Michaël Lemaire 3e72fc7bf8 Replaced NoiseGenerator by NoiseState in WaterDefinition 2014-01-21 21:51:11 +01:00
Michaël Lemaire e79692bb5d Refactored noise shader 2014-01-21 21:41:15 +01:00
Michaël Lemaire 25d9a95141 Water is now always at y=0.0 2014-01-06 20:22:00 +01:00
Michaël Lemaire 33c5d89783 Added skybox reflection to water shader 2014-01-05 22:20:15 +01:00
Michaël Lemaire 49b7055655 [WIP] Use simple normal map for opengl water 2014-01-05 21:52:09 +01:00
Michaël Lemaire c52eeac71d [WIP] Added the simplex sampler to opengl water shader 2014-01-05 20:37:51 +01:00
Michaël Lemaire 98646efb99 Fixed camera reverting in 3d explorer not reverting fov slider 2014-01-04 11:43:40 +01:00
Michaël Lemaire ec71b09f2e [WIP] Texture form previews 2014-01-02 17:36:19 +01:00
Michaël Lemaire f0ed8d4b4a Added textures mix preview 2014-01-02 15:19:20 +01:00
Michaël Lemaire 1db49afaed Restored correct terrain tessellation 2014-01-02 15:08:00 +01:00
Michaël Lemaire 67ae34ddbd Added NoiseState offsets to FractalNoise 2014-01-01 18:21:34 +01:00
Michaël Lemaire 22cf9fde51 Started the new FractalNoise implementation 2014-01-01 17:45:50 +01:00
Michaël Lemaire 5579045604 Fixed the terrain walker hitting displacement immediately at high quality 2013-12-31 16:55:10 +01:00
Michaël Lemaire 79458da771 Fixed broken unit tests 2013-12-31 15:56:30 +01:00
Michaël Lemaire e61dae6f0a Added NoiseState to maintain the noise offsets in clouds 2013-12-31 15:50:28 +01:00
Michaël Lemaire 123e434b0a Small adjustements 2013-12-30 17:22:01 +01:00
Michaël Lemaire 1131972759 Improved the opengl terrain rendering queue 2013-12-30 16:02:33 +01:00
Michaël Lemaire eb795b0f83 Added camera FOV control (and better initial fov) 2013-12-30 14:59:42 +01:00
Michaël Lemaire 134158c33a Stars optimization and small tweaks 2013-12-29 18:44:12 +01:00
Michaël Lemaire 220fe89b05 Use the new terrain walker for improved shadows 2013-12-29 18:18:18 +01:00
Michaël Lemaire eabe68b77d New terrain walker (now used for ray casting) 2013-12-29 14:14:49 +01:00
Michaël Lemaire 938242a7de Optimization for moon lighting 2013-12-26 19:03:19 +01:00
Michaël Lemaire 0e837f00c6 Added lighting done by moon 2013-12-26 18:28:25 +01:00
Michaël Lemaire 3786b21e15 Added stars to night sky 2013-12-26 17:30:22 +01:00
Michaël Lemaire c651b436ab Added moon configuration 2013-12-26 16:55:37 +01:00
Michaël Lemaire d2f49a124f Added moon basic lighting 2013-12-26 16:35:29 +01:00
Michaël Lemaire 6589589ad4 Added basic night sky with a plain moon 2013-12-26 15:36:15 +01:00
Michaël Lemaire 0ebdff628b More realistic water presets 2013-12-25 19:55:05 +01:00
Michaël Lemaire a9a6134633 Fixed material dialog validation and made material hardness to work 2013-12-25 19:45:56 +01:00
Michaël Lemaire 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
Michaël Lemaire 19d4c3444f Added bruneton original source code for atmospheric scattering 2013-12-25 16:42:56 +01:00