<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- qmaterial.cpp --> <title>Material QML Type | Qt 3D 5.9</title> <link rel="stylesheet" type="text/css" href="style/offline-simple.css" /> <script type="text/javascript"> document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css"); // loading style sheet breaks anchors that were jumped to before // so force jumping to anchor again setTimeout(function() { var anchor = location.hash; // need to jump to different anchor first (e.g. none) location.hash = "#"; setTimeout(function() { location.hash = anchor; }, 0); }, 0); </script> </head> <body> <div class="header" id="qtdocheader"> <div class="main"> <div class="main-rounded"> <div class="navigationbar"> <table><tr> <td >Qt 5.9</td><td ><a href="qt3d-index.html">Qt 3D</a></td><td ><a href="qt3d-core-qmlmodule.html">QML Types</a></td><td >Material QML Type</td></tr></table><table class="buildversion"><tr> <td id="buildversion" width="100%" align="right">Qt 5.9.4 Reference Documentation</td> </tr></table> </div> </div> <div class="content"> <div class="line"> <div class="content mainContent"> <div class="sidebar"> <div class="toc"> <h3><a name="toc">Contents</a></h3> <ul> <li class="level1"><a href="#properties">Properties</a></li> <li class="level1"><a href="#details">Detailed Description</a></li> </ul> </div> <div class="sidebar-content" id="sidebar-content"></div></div> <h1 class="title">Material QML Type</h1> <span class="subtitle"></span> <!-- $$$Material-brief --> <p>Non-creatable abstract base for materials. <a href="#details">More...</a></p> <!-- @@@Material --> <div class="table"><table class="alignedsummary"> <tr><td class="memItemLeft rightAlign topAlign"> Import Statement:</td><td class="memItemRight bottomAlign"> import Qt3D.Render 2.0</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Since:</td><td class="memItemRight bottomAlign"> Qt 5.5</td></tr><tr><td class="memItemLeft rightAlign topAlign"> Instantiates:</td><td class="memItemRight bottomAlign"> <a href="qml-qt3d-render-material.html"><a href="qt3drender-qmaterial.html">QMaterial</a></td></tr></table></div><ul> <li><a href="qml-qt3d-render-material-members.html">List of all members, including inherited members</a></li> </ul> <a name="properties"></a> <h2 id="properties">Properties</h2> <ul> <li class="fn"><b><b><a href="qml-qt3d-render-material.html#effect-prop">effect</a></b></b> : Effect</li> <li class="fn"><b><b><a href="qml-qt3d-render-material.html#parameters-prop">parameters</a></b></b> : list<Parameter></li> </ul> <!-- $$$Material-description --> <a name="details"></a> <h2 id="details">Detailed Description</h2> <p>Material provides a way to specify the rendering of an <a href="qml-qt3d-core-entity.html">entity</a>. Any aspect can define its own subtype of Material so that a Material can be used to describe a visual element; for example, the way sound should reflect off an element, the temperature of a surface, and so on.</p> <p>In itself, a Material doesn't do anything. It's only when it references an Effect node that a Material becomes useful.</p> <p>In practice, it often happens that a single Effect is being referenced by several Material components. This allows to only create the effect, techniques, passes and shaders once while allowing to specify the material by adding Parameter instances.</p> <p>A Parameter defined on a Material is overridden by a Parameter (of the same name) defined in a <a href="qml-techniquefilter.html">TechniqueFilter</a> or a <a href="qml-renderpassfilter.html">RenderPassFilter</a>.</p> <pre class="cpp"> Effect { id: effect technique: <span class="operator">[</span> Technique { id: gl3Technique graphicsApiFilter { api: GraphicsApiFilter<span class="operator">.</span>OpenGL profile: GraphicsApiFilter<span class="operator">.</span>CoreProfile majorVersion: <span class="number">3</span> minorVersion: <span class="number">1</span> } renderPasses: <span class="operator">[</span> RenderPass { id: gl3Pass shaderProgram: ShaderProgram { <span class="operator">.</span><span class="operator">.</span><span class="operator">.</span> } } <span class="operator">]</span> } <span class="operator">]</span> } Material { id: material1 parameters: <span class="operator">[</span> Parameter { name: <span class="string">"color"</span>; value: <span class="string">"green"</span> } <span class="operator">]</span> } Material { id: material2 parameters: <span class="operator">[</span> Parameter { name: <span class="string">"color"</span>; value: <span class="string">"white"</span> } <span class="operator">]</span> } </pre> <p><b>See also </b><a href="qml-qt3d-render-effect.html">Effect</a>, <a href="qml-qt3d-render-technique.html">Technique</a>, and <a href="qml-qt3d-render-parameter.html">Parameter</a>.</p> <!-- @@@Material --> <h2>Property Documentation</h2> <!-- $$$effect --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="effect-prop"> <td class="tblQmlPropNode"><p> <a name="effect-prop"></a><span class="name">effect</span> : <span class="type"><a href="qml-qt3d-render-effect.html">Effect</a></span></p></td></tr> </table></div> </div><div class="qmldoc"><p>Specifies the effect to be used with the material.</p> </div></div><!-- @@@effect --> <br/> <!-- $$$parameters --> <div class="qmlitem"><div class="qmlproto"> <div class="table"><table class="qmlname"> <tr valign="top" class="odd" id="parameters-prop"> <td class="tblQmlPropNode"><p> <a name="parameters-prop"></a><span class="name">parameters</span> : <span class="type">list</span><<span class="type"><a href="qml-qt3d-render-parameter.html">Parameter</a></span>></p></td></tr> </table></div> </div><div class="qmldoc"><p>Holds the list of parameters used by the material.</p> </div></div><!-- @@@parameters --> <br/> </div> </div> </div> </div> </div> <div class="footer"> <p> <acronym title="Copyright">©</acronym> 2017 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.<br> The documentation provided herein is licensed under the terms of the <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License version 1.3</a> as published by the Free Software Foundation.<br> Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners. </p> </div> </body> </html>