User Tools

Site Tools


3d-guide:3d-manipulations

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
3d-guide:3d-manipulations [2024/04/29 16:47] – [Base Interface] gaetan3d-guide:3d-manipulations [2024/12/11 11:33] (current) – [Turtle Commands] gaetan
Line 16: Line 16:
 As GroIMP's primary purpose is the modelling of three-dimensional virtual plants, GroIMP's 3D facilities play a prominent role. They are made available by the 3D plugin and contain the following features: As GroIMP's primary purpose is the modelling of three-dimensional virtual plants, GroIMP's 3D facilities play a prominent role. They are made available by the 3D plugin and contain the following features:
  
-  * 3D geometry objects: Spheres, cones and other primitives, curves and various kinds of NURBS surfaces, heightfields. (see [[:groimp-platform:objects:all|the list of all objects]]).+  * 3D geometry objects: Spheres, cones and other primitives, curves and various kinds of NURBS surfaces, heightfields. (see [[:user-manual:objects|the list of all objects]]).
          
   * Materials can be assigned to objects to produce a variety of shading effects in visualization. Materials are defined using a _shading network_: This establishes a data flow through the nodes of the network which finally leads to the visible material properties like colour and opacity. Several kinds of nodes are available: Image maps, procedural maps, transformations. You can freely mix them in the shading network, which gives you great flexibility in defining materials.   * Materials can be assigned to objects to produce a variety of shading effects in visualization. Materials are defined using a _shading network_: This establishes a data flow through the nodes of the network which finally leads to the visible material properties like colour and opacity. Several kinds of nodes are available: Image maps, procedural maps, transformations. You can freely mix them in the shading network, which gives you great flexibility in defining materials.
Line 35: Line 35:
  
 See more: See more:
-  * [[:3d-guide:object_manipulations|How to modify object in the scene]] +  * [[:3d-guide:view_manipulations#modify_object_in_the_scene|How to modify object in the scene]] 
-  * [[:3d-guide:add_object|Add object in the scene]] +  * [[:3d-guide:view_manipulations#add_objects|Add object in the scene]] 
-  * [[:3d-guide:change_renderer|Change default renderer]]+  * [[:3d-guide:view_manipulations#change_the_default_display|Change default display]] 
 +  * [[:3d-guide:view_manipulations#select_objects|How to select objects]]
  
-==== The OpenGL-based 3D User Interface ==== 
  
- 
-GroIMP features OpenGL-accelerated display of the scene. The OpenGL-based display may be selected if the //Java Binding for the OpenGL API// (JOGL) is installed. The menu View/Display of GroIMP's 3D view brings up the selection for the different supported display modes. These are: 
- 
-  * **Wireframe (AWT)**: A wireframe view of the scene. Will run on all systems. 
-  * **OpenGL**: OpenGL-based view. Will run on all systems with OpenGL 1.1 support. This mode will display colors and simple textures. 
-  * **OpenGL (Proteus)**: OpenGL-based view. Requires a OpenGL 2.1 compatible GPU. This mode will preview the output of the internal raytracer Twilight in realtime. It features: 
-    * Preview of most materials including procedurally calculated shaders using the OpenGL Shading Language (GLSL) 
-    * Per pixel lighting 
-    * Rendering of shadows 
-    * Preview of Sky-Nodes as background  
-    * Rendering of transparent materials 
-         
-     
- 
-Navigation and control is the same for the Wireframe and both OpenGL-based modes as explained in [[ ch01s02 | Section 1.2, "The 3D User Interface"]]. A comparison of all three modes for an example scene is shown in figure [[ ch01s03#f-3d-view-comparison | Figure 1.2, "Comparison of GroIMP's 3D view modes"]] 
- 
-**Figure 1.2. Comparison of GroIMP's 3D view modes** 
- 
-{{:3d-guide:3d_view_comp.png}} 
- 
-=== Options in OpenGL mode === 
- 
-The OpenGL view can be configured by opening the Option-Dialog (View/Display/Option/Edit) of GroIMP's 3D view while OpenGL is selected. The dialog features the following options: 
- 
-  *   **lighting**: If enabled the scene will be lit by the user-defined light-nodes (only up to 8 lights will be used). If disabled the scene will not be lit resulting in flat colored surfaces. [This option is not available for OpenGL (Proteus) mode] 
-  *   **Level of Detail**: This option defines how "round" 3D Primitives appear. A higher value needs more rendering time but increases the quality 
-  *   **Show points**: If disabled the 3D primitive "Point" will not be displayed. Points are normally used for displaying information of the used RGG model or to visualizie lightsources. These objects are not part of the physical scene. Hiding points helps to preview the scene as seen in results produced by a raytracer. Disabled this option may also increase performance. 
-  *   **Show Grid**: If enabled a grid of lines is displayed at the scene's origin. The grid is an orientation helper while navigating and modifying the scene. 
-  *   **Grid dimension**: This value sets the dimension of the displayed grid (in meters). 
-  *   **Grid spacing**: This value defines the spacing between grid lines. A spacing of 1.0 means every meter a line is drawn. 
-  *   **Grid color (red, green, blue)**: These three values define the color of the grid. Each value may be set to a number between 0.0 and 1.0. If all values are set to 1.0 the lines of the grid will be displayed in white. 
-  *   **Show axes of coordinates**: If enabled the orientation of the coordinate axes is displayed in the lower left corner. The axis are color-coded in red, green and blue representing the x-, z-, y-Axes respectively. 
-  *   **Show names at axes**: If enabled the names of the axes are shown the coordinate axes. 
-  *   **Show display size**: If enabled the size of the view in pixel is rendered at the upper left corner of the view. 
-     
- 
-=== Options in OpenGL (Proteus) mode === 
- 
-OpenGL (Proteus) mode shares the options of OpenGL mode (see [[ ch01s03#s-ogl-options | Section 1.3.1, "Options in OpenGL mode"]]). Additionaly the following options are available in the Option-Dialog (View/Display/Option/Edit): 
- 
-  *   **Enable lights**: If this option is enabled contribution of all light sources in the scene are shown. If disabled a default, directional light source replaces all other lights. This option may be disabled if a scene features many lights to increase performance. 
-  *   **Use physical lighting falloff**: If this option is enabled a quadratic falloff is used for all lightsources. This approximates the pathtracer of Twilight. If disabled no falloff is used which approximates the results of the standard raytracer of Twilight. 
-  *   **Enable shadows**: If enabled shadows will be approximated and rendered to the scene. This will decrease performance drastically for dynamic scenes and while editing. For static scenes shadows will decrease performance only slightly. Disabling this option has the same effect as marking all lightsources as shadowless. 
-  *  **Show sky**: If enabled the material of Sky-Nodes is rendered as the scenes background. If disabled a generic grey-colored pattern is shown. 
-  *   **Show diffuse Sky-Light**: If enabled the 3D-View uses Sky-Nodes as an additional lightsource. For a bright, blue sky the scene will be shaded in a bluish color. 
-  *   **Global brightness**: This value is used to scale the brightness of the rendered image. A low value will darken the scene while a higher value will brighten up the displayed picture. 
-  *   **Enable tonemapping**: If enabled the value for Global-brightness is ignored. The image is transformed by the specified algorithm 
-  *   **Tonemapping algorithm**: The selected Tonemapping algorithm controlls how the lit scene is presented to the user. The default value is linear mapping which divides the channels of each pixel by the maximum valued channel over all pixels. 
-  * **DRR (Dynamic Range Reduction)** uses the algorithm descriped in the paper "Dynamic Range Reduction Inspired by Photoreceptor Physiology" by Erik Reinhard and Kate Devlin ([[http://dx.doi.org/10.1109/TVCG.2005.9 | link ]]). Currently only the default values for //m//, //f'//, //c// and //a// are used. 
-  *   **Enable shader antialiasing**: Some materials will result in hard edges or aliasing-artefacts. If enabled the visual quality of materials may be improved resulting in a small performance reduction. (This feature is not implemented by most shaders up to now) 
-  *   **Expand planes to infinity**: If enabled planes will be rendered as infinitely large. If disabled a simple square is used to represent planes. This feature may not be supported by all GPU's so disabling will help to increase compatibility. 
-  *   **Max. depth layers**: If set to a value higher than 0 transparent objects will be rendered. This value defines the maximum number of transparent layers that may be used to composite the image. A higher value allows to see more transparent objects behind other transparent object. Depending on the scenes setting (especially on how many transparent objects are positioned behind each other) a high value will reduce performance drastically. A small value (around 4) is recommended. 
  
 ====== 3D Objects ====== ====== 3D Objects ======
Line 111: Line 59:
 ====== Turtle Commands ====== ====== Turtle Commands ======
  
-The list of turtle commands can be found [[:groimp-platform:turtle_commands|here]].+In GroIMP 3d movement in the scene are managed by turtle commands. 
 +In turtle geometry a sequence of commands can be used to describe a structure. These commands are processed by a "turtle" and change either the state or the position of the turtle. By doing so the turtle can add cylinders (with the additions of RGG also other objects) to the scene.  
 + 
 +See more: 
 +  * [[:groimp-platform:turtle_commands|List of all turtle commands]] 
 +  * [[https://en.wikipedia.org/wiki/Turtle_graphics|What is turtle graphics]] 
 + 
 +Tutorials: 
 +  * [[tutorials:xl-turtle-geometry|How to use turtle commands]]
3d-guide/3d-manipulations.1714402056.txt.gz · Last modified: 2024/04/29 16:47 by gaetan