Commit graph

190 commits

Author SHA1 Message Date
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 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 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 ca7bd84308 Simplified project files + lazy init of data files 2015-10-19 01:39:22 +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 a5c36f90f0 Fixed CLI overriding daytime even when not specified 2015-10-08 23:48:19 +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 273585dd8a Fixed tool camera not reverting back to previous camera mode 2015-09-21 23:17:47 +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 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 4fb7078815 Added rendered picture saving ui 2015-09-15 01:26:05 +02:00
Michaël Lemaire 20c03f84b7 Added an initial loading screen 2015-09-14 19:25:54 +02:00
Michaël Lemaire 84cb69e127 Added cancel button on render dialog 2015-09-14 01:35:25 +02:00
Michaël Lemaire 005c24fa85 Tweaked window and render sizes to keep full hd ratio
Also added medium render size
2015-09-14 00:48:55 +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 6a8fc7b102 Fixed atmosphere daytime control
Minute+1 button did add a wrong amount of time
2015-09-10 23:43:25 +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 035c957054 Fixed small UI issues 2015-09-09 00:08:01 +02:00
Michaël Lemaire 647e185e52 Added IntNode, IntPropertyBind, PanelPictureChoice and /water/model property 2015-09-08 23:52:34 +02:00
Michaël Lemaire 982af74c2d Added /water/reflection property 2015-09-08 01:00:34 +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 1361c5c654 ui: Fixed some state issues 2015-08-28 11:40:35 +02:00
Michaël Lemaire 45f10440ec Fixed top-down camera switching 2015-08-26 00:49:52 +02:00
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 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 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 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 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 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 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 a4edc9568b Restored progress display in CLI render 2015-08-12 22:11:26 +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 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 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 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 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 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 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 dc3584cefc Check canvas preview coordinates to avoid segfault 2014-08-19 11:25:27 +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 0566f2bdd8 Refactored ParallelWork for better performance 2014-08-18 15:20:04 +02:00
Michaël Lemaire fb3d32baf4 Removed old render area code in dialogrender 2014-08-16 13:41:02 +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 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