aboutsummaryrefslogtreecommitdiff
path: root/docs/configuration.md
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-08-19 02:02:20 +0200
committerhachem <im@hachem.wtf>2026-08-19 02:02:20 +0200
commitf7e05555fb4ff6d8e51bdb5734db4dab1841d593 (patch)
tree353d350b19da7b84ca11e5801d33a921407a963e /docs/configuration.md
parent5c5fc10d8938fd2da1922f01c638d42e70eb1ab1 (diff)
[feat]: migrate to slang from glsl
Diffstat (limited to 'docs/configuration.md')
-rw-r--r--docs/configuration.md335
1 files changed, 0 insertions, 335 deletions
diff --git a/docs/configuration.md b/docs/configuration.md
deleted file mode 100644
index 293a4a6..0000000
--- a/docs/configuration.md
+++ /dev/null
@@ -1,335 +0,0 @@
-# Configuration
-## Configuration Files
-
-### Settings File Location
-
-The application uses TOML format for configuration files:
-
-- **Primary location**: `config/settings.toml`
-- **User settings**: Loaded at startup, saved on exit
-
-### TOML Format
-
-The configuration uses TOML format:
-
-```toml
-[simulation]
-max_steps_static = 15000
-max_steps_moving = 30000
-compute_height = 256
-target_fps = 60
-early_exit_distance = 5e+12
-gravity_enabled = true
-
-[graphics]
-render_api = "OpenGL"
-vsync_enabled = true
-enable_anti_aliasing = true
-show_fps = true
-show_performance_metrics = true
-show_debug_info = false
-selected_theme = "Dark"
-```
-
-## Simulation Parameters
-
-### Ray Tracing Settings
-
-#### Max Steps (Static)
-- **Description**: Maximum number of integration steps when camera is stationary
-- **Range**: 1,000 - 30,000
-- **Default**: 15,000
-- **Impact**: Higher values = better accuracy, lower performance
-
-```toml
-max_steps_static = 15000
-```
-
-#### Max Steps (Moving)
-- **Description**: Maximum number of integration steps when camera is moving
-- **Range**: 1,000 - 60,000
-- **Default**: 30,000
-- **Impact**: Higher values = smoother motion, lower performance
-
-```toml
-max_steps_moving = 30000
-```
-
-#### Early Exit Distance
-- **Description**: Distance at which ray marching stops to improve performance
-- **Range**: 1×10¹¹ - 1×10¹³ meters
-- **Default**: 5×10¹² meters
-- **Impact**: Lower values = faster rendering, may miss distant objects
-
-```toml
-early_exit_distance = 5e+12
-```
-
-### Performance Settings
-
-#### Target FPS
-- **Description**: Target frame rate for the application
-- **Range**: 30 - 120 FPS
-- **Default**: 60 FPS
-- **Impact**: Higher values = smoother animation, higher CPU usage
-
-```toml
-target_fps = 60
-```
-
-#### Compute Height
-- **Description**: Resolution of the compute shader (height component)
-- **Range**: 64 - 2,048 pixels
-- **Default**: 256 pixels
-- **Impact**: Higher values = better quality, lower performance
-
-```toml
-compute_height = 256
-```
-
-### Physics Settings
-
-#### Gravity Enabled
-- **Description**: Enable/disable gravitational interactions between objects
-- **Type**: Boolean
-- **Default**: true
-- **Impact**: Affects object motion and orbital dynamics
-
-```toml
-gravity_enabled = true
-```
-
-## Graphics Settings
-
-### Rendering API
-
-#### Render API
-- **Description**: Graphics API to use for rendering
-- **Options**: "OpenGL", "Vulkan"
-- **Default**: "OpenGL"
-- **Impact**: Affects performance and feature availability
-
-```toml
-render_api = "OpenGL"
-```
-
-### Display Settings
-
-#### V-Sync Enabled
-- **Description**: Enable vertical synchronization
-- **Type**: Boolean
-- **Default**: true
-- **Impact**: Prevents screen tearing, may limit frame rate
-
-```toml
-vsync_enabled = true
-```
-
-#### Enable Anti-Aliasing
-- **Description**: Enable anti-aliasing for smoother edges
-- **Type**: Boolean
-- **Default**: true
-- **Impact**: Better visual quality, slight performance cost
-
-```toml
-enable_anti_aliasing = true
-```
-
-### UI Settings
-
-#### Show FPS
-- **Description**: Display frame rate counter
-- **Type**: Boolean
-- **Default**: true
-- **Impact**: Performance monitoring, minimal overhead
-
-```toml
-show_fps = true
-```
-
-#### Show Performance Metrics
-- **Description**: Display detailed performance information
-- **Type**: Boolean
-- **Default**: true
-- **Impact**: Debug information, minimal overhead
-
-```toml
-show_performance_metrics = true
-```
-
-#### Show Debug Info
-- **Description**: Display debug information
-- **Type**: Boolean
-- **Default**: false
-- **Impact**: Development information, may impact performance
-
-```toml
-show_debug_info = false
-```
-
-#### Selected Theme
-- **Description**: UI theme selection
-- **Options**: "Dark", "Light"
-- **Default**: "Dark"
-- **Impact**: Visual appearance only
-
-```toml
-selected_theme = "Dark"
-```
-
-## Performance Tuning
-
-### Preset-Performance
-
-The configuration system allows users to balance quality and performance:
-
-#### High Quality Settings
-```toml
-[simulation]
-max_steps_static = 30000
-max_steps_moving = 60000
-compute_height = 1024
-early_exit_distance = 1e+13
-```
-
-#### Balanced Settings
-```toml
-[simulation]
-max_steps_static = 15000
-max_steps_moving = 30000
-compute_height = 512
-early_exit_distance = 5e+12
-```
-
-#### Performance Settings
-```toml
-[simulation]
-max_steps_static = 5000
-max_steps_moving = 10000
-compute_height = 256
-early_exit_distance = 2e+12
-```
-
-### Adaptive Performance
-
-The application automatically adjusts performance based on conditions:
-
-```glsl
-// Reduce steps for distant cameras
-float cameraDistance = length(cam.camPos);
-if (cameraDistance > 2e12)
- maxSteps = maxSteps / 2;
-else if (cameraDistance > 1e12)
- maxSteps = int(maxSteps * 0.75);
-
-// Reduce steps for escaping rays
-float initialEscapeVelocity = sqrt(2.0 * SagA_rs / ray.r);
-if (ray.dr > initialEscapeVelocity * 0.95 && ray.r > SagA_rs * 200.0)
- maxSteps = maxSteps / 2;
-```
-
-## Configuration Interface
-
-### GUI Configuration
-
-The application provides a graphical interface for configuration:
-
-```cpp
-void ConfigState::OnImGuiRender()
-{
- ImGui::Begin("Configuration");
-
- // Simulation settings
- ImGui::TextColored(ImVec4(0.9f, 0.9f, 1.0f, 1.0f), "Simulation");
- ImGui::Separator();
-
- ImGui::SliderInt("Max Steps (Static)", &m_MaxStepsStatic, 1000, 30000, "%d");
- ImGui::SliderInt("Max Steps (Moving)", &m_MaxStepsMoving, 1000, 60000, "%d");
- ImGui::SliderFloat("Early Exit Distance", &m_EarlyExitDistance, 1e11f, 1e13f, "%.2e");
- ImGui::SliderInt("Compute Height", &m_ComputeHeight, 64, 2048, "%d px");
- ImGui::SliderInt("Target FPS", &m_TargetFPS, 30, 120, "%d");
-
- // Physics settings
- ImGui::TextColored(ImVec4(0.9f, 0.9f, 1.0f, 1.0f), "Physics");
- ImGui::Separator();
-
- ImGui::Checkbox("Enable Gravity", &m_GravityEnabled);
-
- // Graphics settings
- ImGui::TextColored(ImVec4(0.9f, 0.9f, 1.0f, 1.0f), "Graphics");
- ImGui::Separator();
-
- ImGui::Checkbox("V-Sync", &m_VSyncEnabled);
- ImGui::Checkbox("Anti-Aliasing", &m_AntiAliasingEnabled);
- ImGui::Checkbox("Show FPS", &m_ShowFPS);
- ImGui::Checkbox("Performance Metrics", &m_ShowPerformanceMetrics);
-
- ImGui::End();
-}
-```
-
-
-## Default Configurations
-
-### Preset Configurations
-
-The application includes several preset configurations:
-
-#### Ultra Quality
-```toml
-[simulation]
-max_steps_static = 50000
-max_steps_moving = 100000
-compute_height = 2048
-early_exit_distance = 1e+13
-target_fps = 30
-```
-
-#### High Quality
-```toml
-[simulation]
-max_steps_static = 30000
-max_steps_moving = 60000
-compute_height = 1024
-early_exit_distance = 8e+12
-target_fps = 60
-```
-
-#### Balanced
-```toml
-[simulation]
-max_steps_static = 15000
-max_steps_moving = 30000
-compute_height = 512
-early_exit_distance = 5e+12
-target_fps = 60
-```
-
-#### Performance
-```toml
-[simulation]
-max_steps_static = 5000
-max_steps_moving = 10000
-compute_height = 256
-early_exit_distance = 2e+12
-target_fps = 120
-```
-
-## Troubleshooting
-
-### Common Issues
-
-#### Performance Problems
-- **Symptom**: Low frame rate, stuttering
-- **Solution**: Reduce `max_steps_moving`, `max_steps_static`, or `compute_height`
-- **Alternative**: Increase `early_exit_distance`
-
-#### Quality Issues
-- **Symptom**: Poor image quality, artifacts
-- **Solution**: Increase `compute_height` and step counts
-- **Alternative**: Reduce `early_exit_distance`
-
-#### Configuration Errors
-- **Symptom**: Application crashes on startup
-- **Solution**: Delete configuration file to reset to defaults
-- **Alternative**: Check TOML syntax in settings file \ No newline at end of file