NVIDIA IndeX API nvidia_logo_transpbg.gif Up
imaterial.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_IMATERIAL_H
8#define NVIDIA_INDEX_IMATERIAL_H
9
10#include <mi/base/interface_declare.h>
11#include <mi/dice.h>
12
13#include <nv/index/iattribute.h>
14
15namespace nv
16{
17namespace index
18{
19
30class IMaterial :
31 public mi::base::Interface_declare<0xaaf6c278,0xf36f,0x4d00,0x83,0xd6,0xfc,0x9a,0x4c,0xb3,0x2d,0x57,
32 nv::index::IAttribute>
33{
34};
35
81class IPhong_gl :
82 public mi::base::Interface_declare<0x9202fbb8,0x4c0f,0x442a,0xad,0x31,0x4f,0x0b,0x30,0x3d,0xc6,0xad,
83 nv::index::IMaterial>
84{
85public:
88 virtual void set_ambient(const mi::math::Color_struct& ka) = 0;
89
92 virtual const mi::math::Color_struct& get_ambient() const = 0;
93
96 virtual void set_diffuse(const mi::math::Color_struct& kd) = 0;
97
100 virtual const mi::math::Color_struct& get_diffuse() const = 0;
101
104 virtual void set_specular(const mi::math::Color_struct& ks) = 0;
105
108 virtual const mi::math::Color_struct& get_specular() const = 0;
109
112 virtual void set_shininess(mi::Float32 shininess) = 0;
113
116 virtual mi::Float32 get_shininess() const = 0;
117
120 virtual void set_opacity(mi::Float32 opacity) = 0;
121
124 virtual mi::Float32 get_opacity() const = 0;
125};
126
127}} // namespace index / nv
128
129#endif // NVIDIA_INDEX_IMATERIAL_H
The material base class.
Definition: imaterial.h:33
Simple OpenGL Phong material property.
Definition: imaterial.h:84
virtual void set_diffuse(const mi::math::Color_struct &kd)=0
Sets the diffuse term of the material.
virtual void set_specular(const mi::math::Color_struct &ks)=0
Sets the specular term of the material.
virtual void set_opacity(mi::Float32 opacity)=0
Sets the opacity of the material.
virtual const mi::math::Color_struct & get_diffuse() const =0
Returns the diffuse term of the material.
virtual const mi::math::Color_struct & get_specular() const =0
Returns the specular term of the material.
virtual void set_ambient(const mi::math::Color_struct &ka)=0
Sets the ambient term of the material.
virtual void set_shininess(mi::Float32 shininess)=0
Sets the specular shininess.
virtual mi::Float32 get_opacity() const =0
Returns the opacity of the material.
virtual const mi::math::Color_struct & get_ambient() const =0
Returns the ambient term of the material.
virtual mi::Float32 get_shininess() const =0
Returns the specular shininess.
Base class representing attributes that can be defined in a scene description.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349