diff options
Diffstat (limited to 'src/api/studio3d/doc/src')
-rw-r--r-- | src/api/studio3d/doc/src/attributenames.html | 911 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/attributenames.qdoc | 71 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/copyright.qdoc | 37 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/embedded.qdoc | 32 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/examples.qdoc | 41 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/gettingstarted.qdoc | 117 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/images/customsignal.png | bin | 0 -> 28206 bytes | |||
-rw-r--r-- | src/api/studio3d/doc/src/images/intro-app.png | bin | 0 -> 368639 bytes | |||
-rw-r--r-- | src/api/studio3d/doc/src/images/intro-editor.png | bin | 0 -> 289164 bytes | |||
-rw-r--r-- | src/api/studio3d/doc/src/images/intro-viewer.png | bin | 0 -> 338976 bytes | |||
-rw-r--r-- | src/api/studio3d/doc/src/images/twolayers.png | bin | 0 -> 4564 bytes | |||
-rw-r--r-- | src/api/studio3d/doc/src/index.qdoc | 44 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/mobile.qdoc | 32 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/module.qdoc | 111 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/requirements.qdoc | 100 | ||||
-rw-r--r-- | src/api/studio3d/doc/src/toc.qdoc | 40 |
16 files changed, 1536 insertions, 0 deletions
diff --git a/src/api/studio3d/doc/src/attributenames.html b/src/api/studio3d/doc/src/attributenames.html new file mode 100644 index 0000000..fca55df --- /dev/null +++ b/src/api/studio3d/doc/src/attributenames.html @@ -0,0 +1,911 @@ +\raw HTML +<table id='scripting-attributes'> +<tbody></tbody> +<tr><th colspan="4">Scenes</td></tr> +<tr> +<td class='formal'>Name</td> +<td class='scripting'>name</td> +<td class='type'>string</td> +</tr> +<tr> +<td class='formal'>Enable Background Color</td> +<td class='scripting'>bgcolorenable</td> +<td class='type'>boolean</td> +</tr> +<tr> +<td class='formal'>Background Color R</td> +<td class='scripting'>backgroundcolor.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Background Color G</td> +<td class='scripting'>backgroundcolor.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Background Color B</td> +<td class='scripting'>backgroundcolor.b</td> +<td class='type'>number</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Elements other than Scenes</td></tr> +<tr> +<td class='formal'>Element Name</td> +<td class='scripting'>name</td> +<td class='type'>string</td> +</tr> +<tr> +<td class='formal'>(Eyeball)</td> +<td class='scripting'>eyeball</td> +<td class='type'>boolean</td> +</tr> +<tr> +<td class='formal'>Timebar Start</td> +<td class='scripting'>starttime</td> +<td class='type'>number</td> +<td class='note'> +in integer milliseconds +</td> +</tr> +<tr> +<td class='formal'>Timebar End</td> +<td class='scripting'>endtime</td> +<td class='type'>number</td> +<td class='note'> +in integer milliseconds +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Layers</td></tr> +<tr> +<td class='formal'>Disable Depth Test</td> +<td class='scripting'>disabledepthtest</td> +<td class='type'>boolean</td> +</tr> +<tr> +<td class='formal'>Progressive AA</td> +<td class='scripting'>progressiveaa</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'None'</code>, <code>'2x'</code>, <code>'4x'</code>, <code>'8x'</code> +</td> +</tr> +<tr> +<td class='formal'>Multisample AA</td> +<td class='scripting'>multisampleaa</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'None'</code>, <code>'2x'</code>, <code>'4x'</code> +</td> +</tr> +<tr> +<td class='formal'>Temporal AA</td> +<td class='scripting'>temporalaa</td> +<td class='type'>boolean</td> +</tr> +<tr> +<td class='formal'>Layer Background</td> +<td class='scripting'>background</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Transparent'</code>, <code>'Unspecified'</code>, <code>'SolidColor'</code> +</td> +</tr> +<tr> +<td class='formal'>Background Color R</td> +<td class='scripting'>backgroundcolor.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Background Color G</td> +<td class='scripting'>backgroundcolor.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Background Color B</td> +<td class='scripting'>backgroundcolor.b</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Blend Type</td> +<td class='scripting'>blendtype</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Normal'</code>, <code>'Screen'</code>, <code>'Multiply'</code>, <code>'Add'</code>, <code>'*Overlay'</code>, <code>'*ColorBurn'</code>, <code>'*ColorDodge'</code> +</td> +</tr> +<tr> +<td class='formal'>Horizontal Fields</td> +<td class='scripting'>horzfields</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Left/Width'</code>, <code>'Left/Right'</code>, <code>'Width/Right'</code> +</td> +</tr> +<tr> +<td class='formal'>Left</td> +<td class='scripting'>left</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Left Units</td> +<td class='scripting'>leftunits</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'pixels'</code>, <code>'percent'</code> +</td> +</tr> +<tr> +<td class='formal'>Width</td> +<td class='scripting'>width</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Width Units</td> +<td class='scripting'>widthunits</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'pixels'</code>, <code>'percent'</code> +</td> +</tr> +<tr> +<td class='formal'>Right</td> +<td class='scripting'>right</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Right Units</td> +<td class='scripting'>rightunits</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'pixels'</code>, <code>'percent'</code> +</td> +</tr> +<tr> +<td class='formal'>Vertical Fields</td> +<td class='scripting'>vertfields</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Top/Height'</code>, <code>'Top/Bottom'</code>, <code>'Height/Bottom'</code> +</td> +</tr> +<tr> +<td class='formal'>Top</td> +<td class='scripting'>top</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Top Units</td> +<td class='scripting'>topunits</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'pixels'</code>, <code>'percent'</code> +</td> +</tr> +<tr> +<td class='formal'>Height</td> +<td class='scripting'>height</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Height Units</td> +<td class='scripting'>heightunits</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'pixels'</code>, <code>'percent'</code> +</td> +</tr> +<tr> +<td class='formal'>Bottom</td> +<td class='scripting'>bottom</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Bottom Units</td> +<td class='scripting'>bottomunits</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'pixels'</code>, <code>'percent'</code> +</td> +</tr> +<tr> +<td class='formal'>Ambient Occlusion</td> +<td class='scripting'>aostrength</td> +<td class='type'>number</td> +<td class='note'> +values between 0 and 100 +</td> +</tr> +<tr> +<td class='formal'>AO Distance</td> +<td class='scripting'>aodistance</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>AO Softness</td> +<td class='scripting'>aosoftness</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>AO Threshold</td> +<td class='scripting'>aobias</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>AO Sampling Rate</td> +<td class='scripting'>aosamplerate</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>AO Dithering</td> +<td class='scripting'>aodither</td> +<td class='type'>boolean</td> +</tr> +<tr> +<td class='formal'>Shadow Strength</td> +<td class='scripting'>shadowstrength</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Shadow Distance</td> +<td class='scripting'>shadowdist</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Shadow Softness</td> +<td class='scripting'>shadowsoftness</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Shadow Threshold</td> +<td class='scripting'>shadowbias</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Light Probe</td> +<td class='scripting'>lightprobe</td> +<td class='type'>image element</td> +</tr> +<tr> +<td class='formal'>IBL Horizon Cutoff</td> +<td class='scripting'>probehorizon</td> +<td class='type'>number</td> +<td class='note'> +values from -1 (no horizon) to -0.001 (hard edge) +</td> +</tr> +<tr> +<td class='formal'>Sub-Presentation</td> +<td class='scripting'>sourcepath</td> +<td class='type'>string</td> +<td class='note'> +id of the sub-presentation to display +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Nodes</td></tr> +<tr> +<td class='formal'>Position X</td> +<td class='scripting'>position.x</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Position Y</td> +<td class='scripting'>position.y</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Position Z</td> +<td class='scripting'>position.z</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Rotation X</td> +<td class='scripting'>rotation.x</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Rotation Y</td> +<td class='scripting'>rotation.y</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Rotation Z</td> +<td class='scripting'>rotation.z</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Scale X</td> +<td class='scripting'>scale.x</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Scale Y</td> +<td class='scripting'>scale.y</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Scale Z</td> +<td class='scripting'>scale.z</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Pivot X</td> +<td class='scripting'>pivot.x</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Pivot Y</td> +<td class='scripting'>pivot.y</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Pivot Z</td> +<td class='scripting'>pivot.z</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Opacity</td> +<td class='scripting'>opacity</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'></td> +<td class='scripting'>orientation</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Left Handed'</code>, <code>'Right Handed'</code> +</td> +</tr> +<tr> +<td class='formal'></td> +<td class='scripting'>rotationorder</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'XYZ'</code>, <code>'YZX'</code>, <code>'ZXY'</code>, <code>'XZY'</code>, <code>'YXZ'</code>, <code>'ZYX'</code>, <code>'XYZr'</code>, <code>'YZXr'</code>, <code>'ZXYr'</code>, <code>'XZYr'</code>, <code>'YXZr'</code>, <code>'ZYXr'</code> +</td> +</tr> +<tr> +<td class='formal'></td> +<td class='scripting'>ignoresparent</td> +<td class='type'>boolean</td> +<td class='note'> +prevents parent transformation from being applied [ignored as of 2.0] +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Aliases</td></tr> +<tr> +<td class='formal'>Reference</td> +<td class='scripting'>referencednode</td> +<td class='type'>string</td> +<td class='note'> +relative or absolute element path +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Cameras</td></tr> +<tr> +<td class='formal'>Orthographic</td> +<td class='scripting'>orthographic</td> +<td class='type'>boolean</td> +</tr> +<tr> +<td class='formal'>Field of View</td> +<td class='scripting'>fov</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Clipping Start</td> +<td class='scripting'>clipnear</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Clipping End</td> +<td class='scripting'>clipfar</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Runtime Scale Mode</td> +<td class='scripting'>scalemode</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Fit'</code>, <code>'Same Size'</code> +</td> +</tr> +<tr> +<td class='formal'>Runtime Scale Anchor</td> +<td class='scripting'>scaleanchor</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Center'</code>, <code>'NW'</code>, <code>'N'</code>, <code>'NE'</code>, <code>'E'</code>, <code>'SE'</code>, <code>'S'</code>, <code>'SW'</code>, <code>'W'</code> +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Lights</td></tr> +<tr> +<td class='formal'>Scope</td> +<td class='scripting'>scope</td> +<td class='type'>string</td> +<td class='note'> +full path to the element +</td> +</tr> +<tr> +<td class='formal'>Light Type</td> +<td class='scripting'>lighttype</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Directional'</code>, <code>'Point'</code>, <code>'Area'</code> +</td> +</tr> +<tr> +<td class='formal'>Light Color R</td> +<td class='scripting'>lightdiffuse.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Light Color G</td> +<td class='scripting'>lightdiffuse.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Light Color B</td> +<td class='scripting'>lightdiffuse.b</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Color R</td> +<td class='scripting'>lightspecular.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Color G</td> +<td class='scripting'>lightspecular.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Color B</td> +<td class='scripting'>lightspecular.b</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Ambient Color R</td> +<td class='scripting'>lightambient.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Ambient Color G</td> +<td class='scripting'>lightambient.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Ambient Color B</td> +<td class='scripting'>lightambient.b</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Brightness</td> +<td class='scripting'>brightness</td> +<td class='type'>number</td> +<td class='note'> +only applies to point lights +</td> +</tr> +<tr> +<td class='formal'>Linear Fade</td> +<td class='scripting'>linearfade</td> +<td class='type'>number</td> +<td class='note'> +only applies to point lights +</td> +</tr> +<tr> +<td class='formal'>Exponential Fade</td> +<td class='scripting'>expfade</td> +<td class='type'>number</td> +<td class='note'> +only applies to point lights +</td> +</tr> +<tr> +<td class='formal'>Cast Shadows?</td> +<td class='scripting'>castshadow</td> +<td class='type'>boolean</td> +</tr> +<tr> +<td class='formal'>Shadow Darkness</td> +<td class='scripting'>shdwfactor</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Shadow Softness</td> +<td class='scripting'>shdwfilter</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Shadow Resolution</td> +<td class='scripting'>shdwmapres</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'256'</code>, <code>'512'</code>, <code>'1024'</code>, <code>'2048'</code> +</td> +</tr> +<tr> +<td class='formal'>Shadow Depth Bias</td> +<td class='scripting'>shdwbias</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Shadow Far Clip</td> +<td class='scripting'>shdwmapfar</td> +<td class='type'>number</td> +<tr> +<td class='formal'>Shadow Field of View</td> +<td class='scripting'>shdwmapfov</td> +<td class='type'>number</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Groups</td></tr> +<tr> +<td class='formal'>Import</td> +<td class='scripting'>sourcepath</td> +<td class='type'>string</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Text</td></tr> +<tr> +<td class='formal'>Text String</td> +<td class='scripting'>textstring</td> +<td class='type'>string</td> +</tr> +<tr> +<td class='formal'>Text Color R</td> +<td class='scripting'>textcolor.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Text Color G</td> +<td class='scripting'>textcolor.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Text Color B</td> +<td class='scripting'>textcolor.b</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Font</td> +<td class='scripting'>font</td> +<td class='type'>string</td> +</tr> +<tr> +<td class='formal'>Font Size</td> +<td class='scripting'>size</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Horizontal Alignment</td> +<td class='scripting'>horzalign</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Left'</code>, <code>'Center'</code>, <code>'Right'</code> +</td> +</tr> +<tr> +<td class='formal'>Vertical Alignment</td> +<td class='scripting'>vertalign</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Top'</code>, <code>'Middle'</code>, <code>'Bottom'</code> +</td> +</tr> +<tr> +<td class='formal'>Leading</td> +<td class='scripting'>leading</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Tracking</td> +<td class='scripting'>tracking</td> +<td class='type'>number</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Models</td></tr> +<tr> +<td class='formal'>Mesh</td> +<td class='scripting'>sourcepath</td> +<td class='type'>string</td> +</tr> +<tr> +<td class='formal'>Tessellation Mode</td> +<td class='scripting'>tessellation</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'None'</code>, <code>'Linear'</code>, <code>'Phong'</code>, <code>'NPatch'</code> [ignored as of 2.0] +</td> +</tr> +<tr> +<td class='formal'>Edge Tessellation</td> +<td class='scripting'>edgetess</td> +<td class='type'>number</td> +<td class='note'> +[ignored as of 2.0] +</td> +</tr> +<tr> +<td class='formal'>Inner Tessellation</td> +<td class='scripting'>innertess</td> +<td class='type'>number</td> +<td class='note'> +[ignored as of 2.0] +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Standard Materials</td></tr> +<tr> +<td class='formal'>Lighting</td> +<td class='scripting'>shaderlighting</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Vertex'</code>, <code>'Pixel'</code>, <code>'None'</code> +</td> +</tr> +<tr> +<td class='formal'>Blending Mode</td> +<td class='scripting'>blendmode</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Normal'</code>, <code>'Screen'</code>, <code>'Multiply'</code> +</td> +</tr> +<tr> +<td class='formal'>Diffuse Color R</td> +<td class='scripting'>diffuse.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Diffuse Color G</td> +<td class='scripting'>diffuse.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Diffuse Color B</td> +<td class='scripting'>diffuse.b</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Diffuse Map</td> +<td class='scripting'>diffusemap</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Diffuse Map 2</td> +<td class='scripting'>diffusemap2</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Diffuse Map 3</td> +<td class='scripting'>diffusemap3</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Specular Reflection</td> +<td class='scripting'>specularreflection</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Specular Tint R</td> +<td class='scripting'>speculartint.r</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Tint G</td> +<td class='scripting'>speculartint.g</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Tint B</td> +<td class='scripting'>speculartint.b</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Amount</td> +<td class='scripting'>specularamount</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Map</td> +<td class='scripting'>specularmap</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Specular Model</td> +<td class='scripting'>specularmodel</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Default'</code>, <code>'KGGX'</code>, <code>'KWard'</code> +</td> +</tr> +<tr> +<td class='formal'>Fresnel Power</td> +<td class='scripting'>fresnelPower</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Index of Refraction</td> +<td class='scripting'>ior</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Specular Roughness</td> +<td class='scripting'>specularroughness</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Bump Map</td> +<td class='scripting'>bumpmap</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Normal Map</td> +<td class='scripting'>normalmap</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Bump Amount</td> +<td class='scripting'>bumpamount</td> +<td class='type'>number</td> +<td class='note'> +affects both bump and normal maps +</td> +</tr> +<tr> +<td class='formal'>Displacement Map</td> +<td class='scripting'>displacementmap</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Displacement Amount</td> +<td class='scripting'>displaceamount</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Opacity</td> +<td class='scripting'>opacity</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Opacity Map</td> +<td class='scripting'>opacitymap</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tr> +<td class='formal'>Emissive Power</td> +<td class='scripting'>emissivepower</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Emissive Map</td> +<td class='scripting'>emissivemap</td> +<td class='type'>image element</td> +<td class='note'> +to change the image set the <code>sourcepath</code> attribute on the image element +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Material References</td></tr> +<tr> +<td class='formal'>Referenced Material</td> +<td class='scripting'>referencedmaterial</td> +<td class='type'>string</td> +<td class='note'> +relative or absolute element path +</td> +</tr> +<tbody></tbody> +<tr><th colspan="4">Images</td></tr> +<tr> +<td class='formal'>U Repeat</td> +<td class='scripting'>scaleu</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>V Repeat</td> +<td class='scripting'>scalev</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Texture Mapping</td> +<td class='scripting'>mappingmode</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'UV Mapping'</code>, <code>'Environmental Mapping'</code> +</td> +</tr> +<tr> +<td class='formal'>U Tiling</td> +<td class='scripting'>tilingmodehorz</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Tiled'</code>, <code>'Mirrored'</code>, <code>'No Tiling'</code> +</td> +</tr> +<tr> +<td class='formal'>V Tiling</td> +<td class='scripting'>tilingmodevert</td> +<td class='type'>string</td> +<td class='note'> +values: <code>'Tiled'</code>, <code>'Mirrored'</code>, <code>'No Tiling'</code> +</td> +</tr> +<tr> +<td class='formal'>UV Rotation</td> +<td class='scripting'>rotationuv</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>U Position</td> +<td class='scripting'>positionu</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>V Position</td> +<td class='scripting'>positionv</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>U Pivot</td> +<td class='scripting'>pivotu</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>V Pivot</td> +<td class='scripting'>pivotv</td> +<td class='type'>number</td> +</tr> +<tr> +<td class='formal'>Sub-Presentation</td> +<td class='scripting'>subpresentation</td> +<td class='type'>string</td> +<td class='note'> +id of the sub-presentation to display +</td> +</tr> +<tr> +<td class='formal'>Source Path</td> +<td class='scripting'>sourcepath</td> +<td class='type'>string</td> +<td class='note'> +path to the image +</td> +</tr> +</table> +\endraw diff --git a/src/api/studio3d/doc/src/attributenames.qdoc b/src/api/studio3d/doc/src/attributenames.qdoc new file mode 100644 index 0000000..e499f17 --- /dev/null +++ b/src/api/studio3d/doc/src/attributenames.qdoc @@ -0,0 +1,71 @@ +!/**************************************************************************** +** +** Copyright (C) 1993-2009 NVIDIA Corporation. +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +// Pull in attributenames.html into qdoc. Note that attributenames.html is +// manually maintained since 2.0 and is not auto-generated. + +/*! + \page qt3dstudio-opengl-runtime-attribute-names.html + \title Attribute Names + \keyword Attributes + + Below is a list of the attributes that can be set on the various scene + objects via Q3DSPresentation::setAttribute() or Q3DSElement::setAttribute(). + + \note vector (e.g. a group's or model's \c rotation) and color (e.g. a + material's \c diffuse) attributes allow setting/getting all components in + one operation, and are mapped to QVector3D and QColor, respectively. + + \note As of Qt 3D Studio 2.1 not all properties can be changed on the fly at + run time. As a general rule attributes that are animatable in the Qt 3D + Studio application are freely changeable by the applications during run time + as well. + + \note When possible, applications are recommended to rely on the \c{data + input} functionality of Qt 3D Studio instead. This avoids the need to refer + to hard-coded attribute names, and instead allows the designers to expose + the interesting attributes with arbitrary data input names to the + application developers, thus offering a fixed, well-known interface from the + 3D presentation to the application code. See \l Q3DSDataInput, \l DataInput, + \l Q3DSDataOutput, and \l DataOutput for more information. + + \include attributenames.html + + Custom materials and effects have their custom set of properties that are + defined in the \c{.material} or \c{.effect} file. For example, an instances + of an effect with the following metadata will have an attribute \c HBlurBias + with the type \c number that can be set and queried as if it was a built-in + attribute. + + \badcode + <Effect> + <MetaData> + <Property name="HBlurBias" formalName="Horizontal Blur" min="0" max="10" default="2" description="Amount of corona horizontally."/> + ... + \endcode +*/ diff --git a/src/api/studio3d/doc/src/copyright.qdoc b/src/api/studio3d/doc/src/copyright.qdoc new file mode 100644 index 0000000..f358919 --- /dev/null +++ b/src/api/studio3d/doc/src/copyright.qdoc @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\page copyright-notices.html +\title Copyright Notices +\section1 Third-party Licenses + +The following table lists parts (modules) of \RUNTIME that +incorporate code licensed under third-party open-source licenses: + +\annotatedlist attributions-qt3dstudio-opengl-runtime +*/ diff --git a/src/api/studio3d/doc/src/embedded.qdoc b/src/api/studio3d/doc/src/embedded.qdoc new file mode 100644 index 0000000..b468070 --- /dev/null +++ b/src/api/studio3d/doc/src/embedded.qdoc @@ -0,0 +1,32 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page qt3dstudio-opengl-runtime-embedded.html + \title Using the Runtime on Embedded Devices + +*/ diff --git a/src/api/studio3d/doc/src/examples.qdoc b/src/api/studio3d/doc/src/examples.qdoc new file mode 100644 index 0000000..f7a78b4 --- /dev/null +++ b/src/api/studio3d/doc/src/examples.qdoc @@ -0,0 +1,41 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \title Examples + \ingroup examples + \page qt3dstudio-opengl-runtime-examples.html + + Included in the \RUNTIME you will find a set of examples. These are + located in the \c {examples} folder in the installation folder. + + \section1 More Examples + + You can find more examples from + \l{https://git.qt.io/public-demos/qt3dstudio}, these examples are more + visually appealing and suitable to use as demos for example. +*/ diff --git a/src/api/studio3d/doc/src/gettingstarted.qdoc b/src/api/studio3d/doc/src/gettingstarted.qdoc new file mode 100644 index 0000000..9289b54 --- /dev/null +++ b/src/api/studio3d/doc/src/gettingstarted.qdoc @@ -0,0 +1,117 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page qt3dstudio-opengl-runtime-gettingstarted.html + \title Getting Started + + The \RUNTIME provides C++ and QML APIs for integrating Qt 3D + Studio scenes into Qt applications, as well as the viewer application that + is used in combination with the Qt 3D Studio application during the design + phase. + + Below is an example scene in the Qt 3D Studio application. + + \image intro-editor.png + + During the design phase, the standalone viewer is typically launched from + the editor several times to check and verify the presentation in the + runtime. + + \image intro-viewer.png + + Once the design is done and the \c{.uia}, \c{.uip}, and other asset files + are available, these can be loaded, rendered, and manipulated in Qt + applications. This is done via the APIs provided in the \c studio3d + module and the \c QtStudio3D.OpenGL QML plugin. + + Below is the same scene loaded into a simple Qt Quick application + (the \l{Qt 3D Studio Runtime: Simple QML Example}{simpleqml + example}) that composes the 3D content with the other Qt Quick + items, for example the ones provided by \l{Qt Quick Controls + 2}. In addition to displaying the presentation, the application + can also control many aspects of it (slides, timeline, object + properties) and can react on certain conditions, such as when a 3D + object is clicked on (picked) by mouse or touch input. + + \image intro-app.png + + \section1 Rendering Scenes + + APIs are provided for the following Qt UI technologies: + + \list + + \li Qt Quick: here applications import QtStudio3D.OpenGL \QtVer which + provides the \l [QML] Studio3D QML type, a Qt Quick item that can be + added to Qt Quick scenes. Under the hood this is similar to adding a + \l [QML] Scene3D (when working directly with the lower level Qt 3D + framework) or a custom item based on \l QQuickFramebufferObject into + the scene. + + \li QWindow or offscreen render targets (OpenGL texture): Q3DSSurfaceViewer + can be used both to render to an on-screen QWindow, as well as off-screen + into an OpenGL texture. The latter allows reading back and saving the + frames, to generate pre-rendered video sequences for example. + + \endlist + + \section1 Manipulating Scenes + + Rendering Qt 3D Studio scenes is only part of the story since many scenes + are not static and will not just display all their contents as they were + done by designers in the Qt 3D Studio application. Rather, properties of + scene objects (for example, the rotation property of a 3D model, or the + diffuse color of the material associated with such a model) may need to be + changed dynamically, at run time. The timeline or the current slide may + also need to be adjusted based on the user's actions or other application + state. + + Above functionality is exposed via the following types: + + \table + \header + \li C++ Class + \li QML Type + \row + \li Q3DSPresentation + \li \l [QML] Presentation + \row + \li Q3DSElement + \li \l Element + \row + \li Q3DSSceneElement + \li \l [QML] SceneElement + \row + \li Q3DSDataInput + \li \l [QML] DataInput + + \endtable + + Advanced scene manipulation (for example, dynamically spawning and + removing objects in a 3D scene) will be introduced in future versions. +*/ diff --git a/src/api/studio3d/doc/src/images/customsignal.png b/src/api/studio3d/doc/src/images/customsignal.png Binary files differnew file mode 100644 index 0000000..eb0e0ba --- /dev/null +++ b/src/api/studio3d/doc/src/images/customsignal.png diff --git a/src/api/studio3d/doc/src/images/intro-app.png b/src/api/studio3d/doc/src/images/intro-app.png Binary files differnew file mode 100644 index 0000000..3658190 --- /dev/null +++ b/src/api/studio3d/doc/src/images/intro-app.png diff --git a/src/api/studio3d/doc/src/images/intro-editor.png b/src/api/studio3d/doc/src/images/intro-editor.png Binary files differnew file mode 100644 index 0000000..52e5a69 --- /dev/null +++ b/src/api/studio3d/doc/src/images/intro-editor.png diff --git a/src/api/studio3d/doc/src/images/intro-viewer.png b/src/api/studio3d/doc/src/images/intro-viewer.png Binary files differnew file mode 100644 index 0000000..f964b58 --- /dev/null +++ b/src/api/studio3d/doc/src/images/intro-viewer.png diff --git a/src/api/studio3d/doc/src/images/twolayers.png b/src/api/studio3d/doc/src/images/twolayers.png Binary files differnew file mode 100644 index 0000000..2f4b66f --- /dev/null +++ b/src/api/studio3d/doc/src/images/twolayers.png diff --git a/src/api/studio3d/doc/src/index.qdoc b/src/api/studio3d/doc/src/index.qdoc new file mode 100644 index 0000000..aa6ab2e --- /dev/null +++ b/src/api/studio3d/doc/src/index.qdoc @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\title \RUNTIME +\page qt3dstudio-opengl-runtime-index.html + +\section1 Table of Contents + +\list + \li \l {Getting Started} + \li \l {System and Application Requirements} + \li \l {\RUNTIME C++ Classes} + \li \l {\RUNTIME QML Types} + \li \l {Attribute Names}{Scene Object Attribute List} + \li \l {Examples} + \li \l {Copyright Notices} +\endlist + +*/ diff --git a/src/api/studio3d/doc/src/mobile.qdoc b/src/api/studio3d/doc/src/mobile.qdoc new file mode 100644 index 0000000..2ede51a --- /dev/null +++ b/src/api/studio3d/doc/src/mobile.qdoc @@ -0,0 +1,32 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page qt3dstudio-opengl-runtime-mobile.html + \title Using the OpenGL Runtime on Android/iOS Devices + +*/ diff --git a/src/api/studio3d/doc/src/module.qdoc b/src/api/studio3d/doc/src/module.qdoc new file mode 100644 index 0000000..98b134e --- /dev/null +++ b/src/api/studio3d/doc/src/module.qdoc @@ -0,0 +1,111 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \module OpenGLRuntime + \title \RUNTIME C++ Classes + \ingroup modules + + \brief The \RUNTIME provides a number of C++ classes to + integrate and control Qt 3D Studio presentations in Qt applications. + + To include the definitions of the module's classes, use the following directive: + + \code + #include <QtStudio3D> + \endcode + + To link against the module, add this line to your \l qmake \c .pro file: + + \badcode + QT += studio3d + \endcode + + \section1 Integrating + + The main class is \l Q3DSSurfaceViewer. Q3DSSurfaceViewer allows targeting a QWindow or an + offscreen render target (an OpenGL texture). + + \note Qt applications based on QML and Qt Quick will rather want to use the + \l Studio3D type from \l {\RUNTIME QML Types}. + + \section1 Controlling + + Each \l Q3DSSurfaceViewer instance exposes a \l + Q3DSPresentation. This, possibly in combination with \l Q3DSDataInput or + \l Q3DSElement objects, allows: + + \list + + \li changing scene object properties (for example, the transform of a + model, colors and other settings of a material, etc.), + + \li changing slides (thus starting the relevant animations and applying the + scene object property changes associated with the new slide), + + \li and controlling the timeline (the current playback position for the + key-frame based animations) both on the main scene and on individual + Component nodes. + + \endlist + + \section1 Classes +*/ + +/*! + \qmlmodule QtStudio3D.OpenGL \QtVer + \title \RUNTIME QML Types + \ingroup qmlmodules + + \brief QML Types for the \RUNTIME module. + + The \RUNTIME provides a number of QML types to integrate and + control Qt 3D Studio presentations in Qt Quick applications. These types + can be imported into your application using the following import statement + in your \c{.qml} file: + + \qml \QtVer + import QtStudio3D.OpenGL \1 + \endqml + + The main type for embedding a Qt 3D Studio presentations into a Qt Quick + scene is \l Studio3D. Many of the other types correspond to a C++ class in + the API offered to non-QML based applications, providing the same level of + control described in \l{\RUNTIME C++ Classes}{the C++ reference}. + + There are also QML types that offer functionality not available via the C++ + classes. The \l SubPresentationSettings type allows defining \c{QML + sub-presentations} (live Qt Quick scenes composed into the 3D scene either + as Qt 3D Studio layers or as texture maps) in-line, inside a Studio3D + element, without having to deploy them as separate \c .qml files. + + \note the \l Behavior type is to be used by \c{behavior scripts} (\c .qml + snippets associated with scene objects during the design phase in Qt 3D + Studio) and is not available in the main application code. + + \section1 QML Types +*/ diff --git a/src/api/studio3d/doc/src/requirements.qdoc b/src/api/studio3d/doc/src/requirements.qdoc new file mode 100644 index 0000000..f93483c --- /dev/null +++ b/src/api/studio3d/doc/src/requirements.qdoc @@ -0,0 +1,100 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page qt3dstudio-opengl-runtime-requirements.html + \title System and Application Requirements + + \section1 OpenGL Requirements + + Qt 3D Studio requires OpenGL or OpenGL ES. The recommended minimum versions + are \c{3.3 core profile} and \c{3.0}, respectively. + + When it comes to OpenGL ES, a limited subset of the functionality is + available when running on plain \c{OpenGL ES 2.0} implementations. In + practice this means losing shadow mapping, image based lighting, and many + other advanced features and is therefore not recommended. On the other hand, + this allows bringing up Qt 3D Studio scenes on boards like the Raspberry Pi + (with the original proprietary graphics stack) or the Beaglebone Black, or + in hypervisor-based virtualized environments where the GPU virtualization + only supports GLES 2.0, and can therefore still be valuable in certain + special situations. + + Non-native implementations, like \c ANGLE or software implementations like + \c{Mesa's llvmpipe} may work but are not tested and can fail in unexpected + ways. + + \section1 Application Integration Notes + + \section2 C++ + + A typical Qt C++ application using the \RUNTIME is expected to + query and honor the runtime's \c{ideal surface format}. This way the OpenGL + contexts will all be created with the OpenGL version and profile that best + match the runtime's needs: + + \code + #include <Q3DSSurfaceViewer> // or <q3dsruntimeglobal.h> if only Q3DS::surfaceFormat() is interesting for main() + + int main(int argc, char *argv[]) + { + QApplication app(argc, argv); + + QSurfaceFormat::setDefaultFormat(Q3DS::surfaceFormat()); + + Q3DSSurfaceViewer w; + ... + return app.exec(); + } + \endcode + + To enable using Qt 3D Studio headers and libraries in the application, add + the \c studio3d module in the application's \c{.pro} file: + + \badcode + QT += studio3d + \endcode + + \section2 QML/Qt Quick + + When no C++ classes are used, the \c studio3d module can be omitted + in the \c{.pro}. To use the \l Studio3D element in QML code, it is + enough to add the corresponding import statement: + + \qml + import QtStudio3D.OpenGL \QtVer + \endqml + + It is nonetheless strongly recommended to set the the default surface format + as shown above. Make sure the + \c{QSurfaceFormat::setDefaultFormat(Q3DS::surfaceFormat())} call is made + after constructing QGuiApplication but before the first QQuickWindow or + QQuickView. When this is not possible, for example because the QML contents + is hosted in an application that has no knowledge of the Qt Quick scene's 3D + needs, Studio3D may still be usable but this may be dependent on the OpenGL + implementation and the context versions it offers, and is therefore more fragile. +*/ diff --git a/src/api/studio3d/doc/src/toc.qdoc b/src/api/studio3d/doc/src/toc.qdoc new file mode 100644 index 0000000..e8f5837 --- /dev/null +++ b/src/api/studio3d/doc/src/toc.qdoc @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\contentspage \RUNTIME +\page qt3dstudio-opengl-runtime-toc.html +\title \RUNTIME TOC + +\omit +This file is used for generating a TOC in a .qch file. +\endomit + +\list + \li \l {index.html}{Overview} +\endlist +*/ |