paysages : Small changes.

git-svn-id: https://subversion.assembla.com/svn/thunderk/paysages@498 b1fd45b6-86a6-48da-8261-f70d1f35bdcc
This commit is contained in:
Michaël Lemaire 2013-01-16 15:56:17 +00:00 committed by ThunderK
parent 614243b58d
commit b59b25d599
5 changed files with 49 additions and 40 deletions

61
TODO
View file

@ -1,53 +1,49 @@
Technology Preview 2 : Technology Preview 2 :
- Implement High Dynamic Range (with OpenEXR or Radiance file format support ?).
- Fully move layer management from BaseForm to BaseFormLayer.
- Replace terrain canvas editor by full sculpting editor. - Replace terrain canvas editor by full sculpting editor.
=> Add a generation dialog, with fixed resolution. => Add a generation dialog, with fixed resolution.
=> Store local terrain modifications in fully dynamic canvas. => Store local terrain modifications in fully dynamic canvas.
=> Add map preview with editor area. => Add map preview with editor area.
=> Allow camera move and zoom. => Allow camera move and zoom.
- Get rid of noise dialogs, for simpler settings. - Get rid of noise dialogs, for simpler settings.
- Finalize Preetham's model usage - Apply Preetham's model usage
=> Apply model to atmosphere (aerial perspective) => Convert to HDR rendering.
=> Find a proper model for night sky (maybe Shirley) => Apply model's aerial perspective.
- Clouds should keep distance to ground. - Find a proper model for night sky (maybe Shirley).
- Add fresnel effect to specular lighting.
- Add clouds to explorer with 3d textures.
- Start using OpenCL to optimize rendering.
- Rethink the quality settings and detail smoothing in the distance.
=> When quality setting is set to 10, add boost options
=> Add detail boost (adds granularity)
=> Add step boost (for marching algorithms)
- Waves noise should not change layers offsets each time a setting is changed (layers are reconstructed currently).
- Fix rendering when inside a cloud layer, with other upper or lower layers.
- Add "hardness to light" and shadow control ("minimum lighting") to material.
Technlogy Preview 3 :
- Add logarithmic sliders for some float values.
- Improve previews.
=> Add user markers on OSD.
=> Add areas marking.
- Improve textures (current model is greatly incorrect). - Improve textures (current model is greatly incorrect).
=> Separate models (basic texture and covering texture). => Separate models (basic texture and covering texture).
=> Covering texture height should inpact terrain height. => Covering texture height should inpact terrain height.
=> Add texture shadowing. => Add texture shadowing.
- Use the curve editor in noise editor (option). - Clouds should keep distance to ground.
- Add a noise filler (and maybe noise intervals ?). - Add fresnel effect to specular lighting.
- Add "hardness to light" and shadow control ("minimum lighting") to material.
- Waves noise should not change layers offsets each time a setting is changed (layers are reconstructed currently).
- Fix rendering when inside a cloud layer, with other upper or lower layers.
Technlogy Preview 3 :
- Fully move layer management from BaseForm to BaseFormLayer.
- Start vegetation system.
- Allow render saving in HDR compatible format.
- Add clouds to explorer with 3d textures.
- Start using OpenCL to optimize rendering.
- Restore render progress.
- Rethink the quality settings and detail smoothing in the distance.
=> When quality setting is set to 10, add boost options
=> Add detail boost (adds granularity)
=> Add step boost (for marching algorithms)
- Add logarithmic sliders for some float values.
- Improve previews.
=> Add user markers on OSD.
=> Add areas marking.
- Add a noise automatic filler.
- Fix the distorted sun appearance. - Fix the distorted sun appearance.
- Improve curve editor.
=> Add curve modes
=> Add logarithmic mode
=> Add zoom and scrolling
- Lock some previews together (eg: terrain height and colored preview). - Lock some previews together (eg: terrain height and colored preview).
- Find a new licence. - Find a new licence.
Technology Preview 4 : Technology Preview 4 :
- Restore render progress. - Implement Sub Surface Scattering for water, textures and clouds.
- Store the terrain canvases in a tree to allow "multi-res" edition. - Implement earth curvature.
- Implement Sub Surface Scattering for water.
- Use bicubic interpolation for antialiasing. - Use bicubic interpolation for antialiasing.
- Allow for larger renders/antialias (will need several two-pass chunks). - Allow for larger renders/antialias (will need several two-pass chunks).
- Add basic vegetation system ?
- Add a progress indicator on previews. - Add a progress indicator on previews.
- Multi threaded first pass. - Multi threaded first pass.
- Mark modified tabs and ask for losing modifications (idem for layers). - Mark modified tabs and ask for losing modifications (idem for layers).
@ -56,6 +52,7 @@ Technology Preview 4 :
- Water and terrain LOD moves with the camera, fix it like in the wanderer. - Water and terrain LOD moves with the camera, fix it like in the wanderer.
- Improve 3d explorer - Improve 3d explorer
=> Restore LOD and intelligent poly count (and raise max tessellation) => Restore LOD and intelligent poly count (and raise max tessellation)
=> Better handling of high altitude
=> Interrupt chunk rendering when quitting dialog => Interrupt chunk rendering when quitting dialog
=> Don't display the water if it's below all ground => Don't display the water if it's below all ground
=> Try to overcome the near frustum cutting => Try to overcome the near frustum cutting

View file

@ -212,6 +212,18 @@ void BaseForm::revertConfig()
} }
} }
for (int i = 0; i < _inputs_list.size(); i++)
{
if (_with_layers && _layer_list->count() == 0)
{
_inputs_list[i]->checkVisibility(false);
}
else
{
_inputs_list[i]->checkVisibility(true);
}
}
updatePreviews(); updatePreviews();
//configChangeEvent(); //configChangeEvent();

View file

@ -78,13 +78,13 @@ FormAtmosphere::FormAtmosphere(QWidget *parent):
previewEast = new PreviewSkyEast(this); previewEast = new PreviewSkyEast(this);
addPreview(previewEast, QString(tr("East preview"))); addPreview(previewEast, QString(tr("East preview")));
addInputEnum(tr("Color model"), (int*)&_definition->model, QStringList(tr("Preetham/Shirley analytic model")) << tr("Bruneton/Neyret precomputed model")); addInputEnum(tr("Color model"), (int*)&_definition->model, QStringList(tr("Simplified model (with weather)")) << tr("Complex model"));
addInputInt(tr("Day time (hour)"), &_definition->hour, 0, 23, 1, 10); addInputInt(tr("Day time (hour)"), &_definition->hour, 0, 23, 1, 10);
addInputInt(tr("Day time (minute)"), &_definition->minute, 0, 59, 1, 10); addInputInt(tr("Day time (minute)"), &_definition->minute, 0, 59, 1, 10);
addInputColor(tr("Sun color"), &_definition->sun_color); //addInputColor(tr("Sun color"), &_definition->sun_color);
addInputDouble(tr("Sun radius"), &_definition->sun_radius, 0.0, 0.1, 0.001, 0.01); addInputDouble(tr("Sun radius"), &_definition->sun_radius, 0.0, 0.1, 0.001, 0.01);
addInputDouble(tr("Influence of skydome on lighting"), &_definition->dome_lighting, 0.0, 2.0, 0.01, 0.1); addInputDouble(tr("Influence of skydome on lighting"), &_definition->dome_lighting, 0.0, 2.0, 0.01, 0.1);
addInputDouble(tr("Humidity"), &_definition->humidity, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Humidity"), &_definition->humidity, 0.0, 1.0, 0.01, 0.1)->setVisibilityCondition((int*)&_definition->model, 0);
revertConfig(); revertConfig();
} }

View file

@ -398,11 +398,6 @@ void WidgetExplorer::paintGL()
QTime start_time; QTime start_time;
double frame_time; double frame_time;
if (_current_camera.location.y > 30.0)
{
_current_camera.location.y = 30.0;
}
cameraValidateDefinition(&_current_camera, 1); cameraValidateDefinition(&_current_camera, 1);
_renderer.camera_location = _current_camera.location; _renderer.camera_location = _current_camera.location;

View file

@ -96,6 +96,11 @@ void cameraValidateDefinition(CameraDefinition* definition, int check_above)
} }
} }
if (definition->location.y > 100.0)
{
definition->location.y = 100.0;
}
definition->forward.x = 1.0; definition->forward.x = 1.0;
definition->forward.y = 0.0; definition->forward.y = 0.0;
definition->forward.z = 0.0; definition->forward.z = 0.0;