    

 ## On this page

  

 

 # GLTFMaterial

 Last update: 16.07.2025 

<a id="l00001" name="l00001"></a> 1 /\*

<a id="l00002" name="l00002"></a> 2  \* Copyright 2018-2021 ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a id="l00003" name="l00003"></a> 3  \* 

<a id="l00004" name="l00004"></a> 4  \* Restricted Rights Legend

<a id="l00005" name="l00005"></a> 5  \*

<a id="l00006" name="l00006"></a> 6  \* Use, duplication, or disclosure of this

<a id="l00007" name="l00007"></a> 7  \* software and its documentation by the

<a id="l00008" name="l00008"></a> 8  \* Government is subject to restrictions as

<a id="l00009" name="l00009"></a> 9  \* set forth in subdivision \[(b)(3)(ii)\] of

<a id="l00010" name="l00010"></a> 10  \* the Rights in Technical Data and Computer

<a id="l00011" name="l00011"></a> 11  \* Software clause at 52.227-7013.

<a id="l00012" name="l00012"></a> 12  \*/

<a id="l00013" name="l00013"></a> 13 \#ifndef \_\_INCLUDED\_GLTF\_GLTFMATERIAL\_\_

<a id="l00014" name="l00014"></a> 14 \#define \_\_INCLUDED\_GLTF\_GLTFMATERIAL\_\_

<a id="l00015" name="l00015"></a> 15 

<a id="l00016" name="l00016"></a> 16 \#include "GLTFCommon.h"

<a id="l00017" name="l00017"></a> 17 \#include "GLTFObject.h"

<a id="l00018" name="l00018"></a> 18 

<a id="l00019" name="l00019"></a> 19 namespace [ANSYS](namespace_a_n_s_y_s.xhtml) { namespace Nexus { namespace GLTFWriter {

<a id="l00020" name="l00020"></a> 20 class GLTF;

<a id="l00021" name="l00021"></a> 21 class Technique;

<a id="l00022" name="l00022"></a> 22 class Value;

<a id="l00023" name="l00023"></a> 23 

<a id="l00029" name="l00029"></a>[ 29](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml) class [Material](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml) : public Object

<a id="l00030" name="l00030"></a> 30 {

<a id="l00031" name="l00031"></a> 31 protected:

<a id="l00032" name="l00032"></a> 32 virtual ~[Material](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml)() {}

<a id="l00033" name="l00033"></a> 33 

<a id="l00034" name="l00034"></a> 34 public:

<a id="l00037" name="l00037"></a>[ 37](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a683cf8ee4a674e8e7a7b01c97797eecc) static GLTFWRITERSPEC [Material](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml) *[Create](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a683cf8ee4a674e8e7a7b01c97797eecc)([GLTF](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_g_l_t_f.xhtml) *gltf, 

<a id="l00038" name="l00038"></a> 38 [Technique](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_technique.xhtml) *technique 

<a id="l00039" name="l00039"></a> 39 );

<a id="l00040" name="l00040"></a> 40 

<a id="l00043" name="l00043"></a>[ 43](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a89ffaa0811aa070c4b6dcd364fa4e252) GLTFWRITERSPEC virtual [Material](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml) *[Mirror](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a89ffaa0811aa070c4b6dcd364fa4e252)() = 0;

<a id="l00048" name="l00048"></a>[ 48](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a17160c12f2a00713c522c371a22dbca5) GLTFWRITERSPEC virtual bool [AppendValue](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a17160c12f2a00713c522c371a22dbca5)([Value](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_value.xhtml) *value 

<a id="l00049" name="l00049"></a> 49 ) = 0;

<a id="l00050" name="l00050"></a> 50 };

<a id="l00051" name="l00051"></a> 51 

<a id="l00052" name="l00052"></a> 52 } } }

<a id="l00053" name="l00053"></a> 53 

<a id="l00054" name="l00054"></a> 54 \#endif

[ANSYS::Nexus::GLTFWriter::GLTF](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_g_l_t_f.xhtml)

This is the main class of the GLTFWriter.

**Definition:** [GLTFGLTF.h:32](_g_l_t_f_g_l_t_f_8h_source.xhtml#l00031)



[ANSYS::Nexus::GLTFWriter::Material](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml)

Materials describe how primitives are rendered.

**Definition:** [GLTFMaterial.h:30](_g_l_t_f_material_8h_source.xhtml#l00029)



[ANSYS::Nexus::GLTFWriter::Material::AppendValue](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a17160c12f2a00713c522c371a22dbca5)

virtual bool AppendValue(Value *value)=0



[ANSYS::Nexus::GLTFWriter::Material::Create](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a683cf8ee4a674e8e7a7b01c97797eecc)

static Material * Create(GLTF *gltf, Technique *technique)



[ANSYS::Nexus::GLTFWriter::Material::Mirror](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_material.xhtml#a89ffaa0811aa070c4b6dcd364fa4e252)

virtual Material * Mirror()=0



[ANSYS::Nexus::GLTFWriter::Technique](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_technique.xhtml)

Techniques performs the rendering of primitives.

**Definition:** [GLTFTechnique.h:240](_g_l_t_f_technique_8h_source.xhtml#l00239)



[ANSYS::Nexus::GLTFWriter::Value](class_a_n_s_y_s_1_1_nexus_1_1_g_l_t_f_writer_1_1_value.xhtml)

Values are objects for storing single and multiple numbers and strings.

**Definition:** [GLTFValue.h:26](_g_l_t_f_value_8h_source.xhtml#l00025)



[ANSYS](namespace_a_n_s_y_s.xhtml)

GLTFWriter API Documentation.

**Definition:** [GLTFAnimation.h:19](_g_l_t_f_animation_8h_source.xhtml#l00019)