diff options
Diffstat (limited to 'src/runtime/doc')
20 files changed, 1613 insertions, 0 deletions
diff --git a/src/runtime/doc/doc.pri b/src/runtime/doc/doc.pri new file mode 100644 index 0000000..6c5dd55 --- /dev/null +++ b/src/runtime/doc/doc.pri @@ -0,0 +1,6 @@ +build_online_docs: \ + QMAKE_DOCS = $$PWD/online/qt3dstudioruntime2.qdocconf +else: \ + QMAKE_DOCS = $$PWD/qt3dstudioruntime2.qdocconf + +OTHER_FILES += $$PWD/src/*.qdoc diff --git a/src/runtime/doc/online/qt3dstudioruntime2.qdocconf b/src/runtime/doc/online/qt3dstudioruntime2.qdocconf new file mode 100644 index 0000000..4602372 --- /dev/null +++ b/src/runtime/doc/online/qt3dstudioruntime2.qdocconf @@ -0,0 +1,2 @@ +include($QT_INSTALL_DOCS/global/qt-module-defaults-online-commercial.qdocconf) +include(../qt3d-runtime-project.qdocconf) diff --git a/src/runtime/doc/qt3d-runtime-project.qdocconf b/src/runtime/doc/qt3d-runtime-project.qdocconf new file mode 100644 index 0000000..5cf0998 --- /dev/null +++ b/src/runtime/doc/qt3d-runtime-project.qdocconf @@ -0,0 +1,61 @@ +project = Qt3DStudioRuntime2 +description = Qt 3D Studio Runtime Reference Manual +version = 2.0 + +# url is relative to the parent project +url = runtime + +sourcedirs += ./src +imagedirs += ./src/images + +sourcedirs += ../api +headerdirs += ../api + +sourcedirs += ../../imports/studio3d +headerdirs += ../../imports/studio3d + +sourcedirs += ../behaviorapi +headerdirs += ../behaviorapi + +depends = qtcore qtgui qtwidgets qtqml qtquick qtdoc qt3dcore qt3drender qt3dlogic qt3danimation + +qhp.projects = Qt3DStudioRuntime2 + +qhp.Qt3DStudioRuntime2.file = qt3dstudioruntime2.qhp +qhp.Qt3DStudioRuntime2.namespace = io.qt.qt3dstudioruntime2.20 +qhp.Qt3DStudioRuntime2.virtualFolder = qt3dstudioruntime2 +qhp.Qt3DStudioRuntime2.indexTitle = Qt 3D Studio Runtime +qhp.Qt3DStudioRuntime2.indexRoot = + +qhp.Qt3DStudioRuntime2.filterAttributes = qt3dstudioruntime2 2.0 +qhp.Qt3DStudioRuntime2.customFilters.Qt.name = Qt3DStudioRuntime2 2.0 +qhp.Qt3DStudioRuntime2.customFilters.Qt.filterAttributes = qt3dstudioruntime2 2.0 + +qhp.Qt3DStudioRuntime2.subprojects = manual qmltypes classes + +qhp.Qt3DStudioRuntime2.subprojects.manual.title = Qt 3D Studio Runtime +qhp.Qt3DStudioRuntime2.subprojects.manual.indexTitle = Qt 3D Studio Runtime TOC +qhp.Qt3DStudioRuntime2.subprojects.manual.type = manual + +qhp.Qt3DStudioRuntime2.subprojects.qmltypes.title = QML Types +qhp.Qt3DStudioRuntime2.subprojects.qmltypes.indexTitle = Qt 3D Studio Runtime QML Types +qhp.Qt3DStudioRuntime2.subprojects.qmltypes.selectors = qmltype +qhp.Qt3DStudioRuntime2.subprojects.qmltypes.sortPages = true + +qhp.Qt3DStudioRuntime2.subprojects.classes.title = C++ Classes +qhp.Qt3DStudioRuntime2.subprojects.classes.indexTitle = Qt 3D Studio Runtime C++ Classes +qhp.Qt3DStudioRuntime2.subprojects.classes.selectors = class fake:headerfile +qhp.Qt3DStudioRuntime2.subprojects.classes.sortPages = true + +# Add an .html file with sidebar content, used in the online style +HTML.stylesheets += style/qt5-sidebar.html + +navigation.homepage = Qt 3D Studio Runtime +navigation.cppclassespage = Qt 3D Studio Runtime C++ Classes +navigation.qmltypespage = Qt 3D Studio Runtime QML Types +buildversion = "Qt 3D Studio Runtime 2.0 Manual" + +examplesinstallpath = 3dstudioruntime2 +exampledirs += ../../../examples/3dstudioruntime2 + +Cpp.ignoretokens += Q3DSV_EXPORT diff --git a/src/runtime/doc/qt3dstudioruntime2.qdocconf b/src/runtime/doc/qt3dstudioruntime2.qdocconf new file mode 100644 index 0000000..6f5f526 --- /dev/null +++ b/src/runtime/doc/qt3dstudioruntime2.qdocconf @@ -0,0 +1,2 @@ +include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf) +include(qt3d-runtime-project.qdocconf) diff --git a/src/runtime/doc/src/attributenames.html b/src/runtime/doc/src/attributenames.html new file mode 100644 index 0000000..422c617 --- /dev/null +++ b/src/runtime/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 Value</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 Value</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/runtime/doc/src/attributenames.qdoc b/src/runtime/doc/src/attributenames.qdoc new file mode 100644 index 0000000..18282de --- /dev/null +++ b/src/runtime/doc/src/attributenames.qdoc @@ -0,0 +1,71 @@ +!/**************************************************************************** +** +** Copyright (C) 1993-2009 NVIDIA Corporation. +** Copyright (C) 2018 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 qt3d-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.0 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 and + \l DataInput 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/runtime/doc/src/copyright.qdoc b/src/runtime/doc/src/copyright.qdoc new file mode 100644 index 0000000..01275f1 --- /dev/null +++ b/src/runtime/doc/src/copyright.qdoc @@ -0,0 +1,37 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 Qt 3D Studio Runtime that +incorporate code licensed under third-party open-source licenses: + +\annotatedlist attributions-Qt3DStudioRuntime2 +*/ diff --git a/src/runtime/doc/src/embedded.qdoc b/src/runtime/doc/src/embedded.qdoc new file mode 100644 index 0000000..095a46d --- /dev/null +++ b/src/runtime/doc/src/embedded.qdoc @@ -0,0 +1,32 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 qt3d-runtime-embedded.html + \title Using the Runtime on Embedded Devices + +*/ diff --git a/src/runtime/doc/src/examples.qdoc b/src/runtime/doc/src/examples.qdoc new file mode 100644 index 0000000..3d70a2c --- /dev/null +++ b/src/runtime/doc/src/examples.qdoc @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 qt3d-runtime-examples.html + \noautolist + + Included in Qt 3D Studio Runtime you will find a set of examples. These are + located in the \c {examples} folder in the installation folder. + + \section1 QML Examples + + \list + \li \l {Qt 3D Studio Runtime: Simple QML Example} + \li \l {Qt 3D Studio Runtime: QML DataInput Example} + \endlist + + \section1 C++ Examples + + \list + \li \l {Qt 3D Studio Runtime: Simple Window Example} + \li \l {Qt 3D Studio Runtime: Simple Widget Example} + \li \l {Qt 3D Studio Runtime: Simple Offscreen Example} + \endlist + + \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/runtime/doc/src/gettingstarted.qdoc b/src/runtime/doc/src/gettingstarted.qdoc new file mode 100644 index 0000000..a0cef3f --- /dev/null +++ b/src/runtime/doc/src/gettingstarted.qdoc @@ -0,0 +1,107 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 qt3d-runtime-gettingstarted.html + \title Getting Started + + The Qt 3D Studio 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 3dstudioruntime2 + module and the \c QtStudio3D 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 + + To profile, debug, and tune the presentation, the runtime provides a + built-in, in-scene debug pane that can be toggled both from the viewer and, + optionally, from applications as well. + + \image intro-viewer-profile.png + + \section1 Rendering Scenes + + APIs are provided for the following Qt UI technologies: + + \list + + \li Qt Quick: here applications import QtStudio3D 2.0 which provides the + \l 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 Scene3D (when working + directly with the lower level Qt 3D framework) or a custom item based on + \l QQuickFramebufferObject into the scene. + + \li Widgets: Q3DSWidget is a QOpenGLWidget subclass that displays Qt 3D + Studio scenes. + + \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. + + As of Qt 3D Studio 2.0 such functionality is exposed via the + Q3DSPresentation (\l Presentation), Q3DSElement (\l Element), + Q3DSSceneElement (\l SceneElement), and Q3DSDataInput (\l DataInput) + objects. Advanced scene manipulation (for instance dynamically spawning and + removing objects in the 3D scene) will be introduced in future versions. +*/ diff --git a/src/runtime/doc/src/images/intro-app.png b/src/runtime/doc/src/images/intro-app.png Binary files differnew file mode 100644 index 0000000..3658190 --- /dev/null +++ b/src/runtime/doc/src/images/intro-app.png diff --git a/src/runtime/doc/src/images/intro-editor.png b/src/runtime/doc/src/images/intro-editor.png Binary files differnew file mode 100644 index 0000000..52e5a69 --- /dev/null +++ b/src/runtime/doc/src/images/intro-editor.png diff --git a/src/runtime/doc/src/images/intro-viewer-profile.png b/src/runtime/doc/src/images/intro-viewer-profile.png Binary files differnew file mode 100644 index 0000000..24d23ad --- /dev/null +++ b/src/runtime/doc/src/images/intro-viewer-profile.png diff --git a/src/runtime/doc/src/images/intro-viewer.png b/src/runtime/doc/src/images/intro-viewer.png Binary files differnew file mode 100644 index 0000000..f36d57b --- /dev/null +++ b/src/runtime/doc/src/images/intro-viewer.png diff --git a/src/runtime/doc/src/index.qdoc b/src/runtime/doc/src/index.qdoc new file mode 100644 index 0000000..43d8b18 --- /dev/null +++ b/src/runtime/doc/src/index.qdoc @@ -0,0 +1,46 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 Qt 3D Studio Runtime +\page qt3d-runtime-index.html + +\section1 Table of Contents + +\list + \li \l {Getting Started} + \li \l {System and Application Requirements} + \li \l {Using the Runtime on Android/iOS Devices} + \li \l {Using the Runtime on Embedded Devices} + \li \l {Qt 3D Studio Runtime C++ Classes} + \li \l {Qt 3D Studio Runtime QML Types} + \li \l {Attribute Names}{Scene object attribute list} + \li \l {Examples} + \li \l {Copyright Notices} +\endlist + +*/ diff --git a/src/runtime/doc/src/mobile.qdoc b/src/runtime/doc/src/mobile.qdoc new file mode 100644 index 0000000..45fd6a0 --- /dev/null +++ b/src/runtime/doc/src/mobile.qdoc @@ -0,0 +1,32 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 qt3d-runtime-mobile.html + \title Using the Runtime on Android/iOS Devices + +*/ diff --git a/src/runtime/doc/src/module.qdoc b/src/runtime/doc/src/module.qdoc new file mode 100644 index 0000000..d37417f --- /dev/null +++ b/src/runtime/doc/src/module.qdoc @@ -0,0 +1,73 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 qt3d-runtime-cpp.html + \title Qt 3D Studio Runtime C++ Classes + \keyword C++ API + \ingroup modules + + \brief Qt 3D Studio provides a number of C++ classes to view and control the presentation. + + To include the definitions of the module's classes, use the following directive: + + \badcode + #include <Qt3DStudioRuntime2> + \endcode + + To link against the module, add this line to your \l qmake \c .pro file: + + \badcode + QT += 3dstudioruntime2 + \endcode + + \section1 Classes + + \generatelist {classesbymodule 3dstudioruntime2} +*/ + +/*! + \page qt3d-runtime-qml.html + \title Qt 3D Studio Runtime QML Types + \keyword QML API + \ingroup qmlmodules + \noautolist + + \brief QML Types for the Qt 3D Studio Runtime module. + + Qt 3D Studio provides a number of QML types to view and control the + presentation. These types can be imported into your application using the + following import statement in your .qml file: + + \badcode + import QtStudio3D 2.0 + \endcode + + \section1 QML Types + + \generatelist {qmltypesbymodule QtStudio3D} +*/ diff --git a/src/runtime/doc/src/requirements.qdoc b/src/runtime/doc/src/requirements.qdoc new file mode 100644 index 0000000..1bec57e --- /dev/null +++ b/src/runtime/doc/src/requirements.qdoc @@ -0,0 +1,108 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 qt3d-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. + + As of version 2.0 the Qt 3D Studio Runtime is implemented on top of Qt + 3D. This means that most graphics API and windowing system bits are + abstracted and hidden from the runtime. However, there are still direct + OpenGL dependencies in a few places and, more importantly, the standard + material, custom materials, and effects all rely on GLSL. Therefore other + graphics APIs, such as, Vulkan or Direct 3D, cannot be supported at this + time. + + \section1 Application Integration Notes + + \section2 C++ + + A typical Qt C++ application using the Qt 3D Studio 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: + + \badcode + #include <Q3DSWidget> // 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()); + + Q3DSWidget w; + ... + return app.exec(); + } + \endcode + + To enable using Qt 3D Studio headers and libraries in the application, add + the \c 3dstudioruntime2 module in the application's \c{.pro} file: + + \badcode + QT += 3dstudioruntime2 + \endcode + + \section2 QML/Qt Quick + + When no C++ classes are used, the \c 3dstudioruntime2 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: + + \badcode + import QtStudio3D 2.0 + \endcode + + 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/runtime/doc/src/toc.qdoc b/src/runtime/doc/src/toc.qdoc new file mode 100644 index 0000000..9e28102 --- /dev/null +++ b/src/runtime/doc/src/toc.qdoc @@ -0,0 +1,40 @@ +/**************************************************************************** +** +** Copyright (C) 2018 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 {Qt 3D Studio Runtime} +\page qt3d-runtime-toc.html +\title Qt 3D Studio Runtime TOC + +\omit +This file is used for generating a TOC in a .qch file. +\endomit + +\list + \li \l {index.html}{Overview} +\endlist +*/ diff --git a/src/runtime/doc/style/qt5-sidebar.html b/src/runtime/doc/style/qt5-sidebar.html new file mode 100644 index 0000000..53a2bbe --- /dev/null +++ b/src/runtime/doc/style/qt5-sidebar.html @@ -0,0 +1,28 @@ +<div class="sectionlist normallist"> + <div> + <a name="reference"></a> + <h2 id="reference">Qt 3D Studio Runtime</h2> + </div> + <div class="indexboxcont indexboxbar"> + <ul> + <li><a href="qt3d-runtime-index.html">Home</a></li> + <li><a href="qt3d-runtime-gettingstarted.html">Getting Started</a></li> + <li><a href="qt3d-runtime-qml.html">QML API Reference</a></li> + <li><a href="qt3d-runtime-cpp.html">C++ API Reference</a></li> + <li><a href="qt3d-runtime-attribute-names.html">Scene Object Attributes</a></li> + <li><a href="qt3d-runtime-examples-examples.html">Examples</a></li> + <li><a href="copyright-notices.html">Copyright Notices</a></li> + </ul> + </div> +</div> +<div class="sectionlist normallist"> + <div> + <a name="reference"></a> + <h2 id="reference">Qt 3D Studio</h2> + </div> + <div class="indexboxcont indexboxbar"> + <ul> + <li><a href="../index.html">Home</a></li> + </ul> + </div> +</div> |