NVIDIA IndeX API nvidia_logo_transpbg.gif Up
ishading_model.h
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright 2023 NVIDIA Corporation. All rights reserved.
3 *****************************************************************************/
6
7#ifndef NVIDIA_INDEX_ISHADING_MODEL_H
8#define NVIDIA_INDEX_ISHADING_MODEL_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
31 public mi::base::Interface_declare<0x8f5bc60f,0x654f,0x46dd,0x85,0x76,0xeb,0x10,0xbf,0xab,0x06,0xb8,
32 nv::index::IAttribute>
33{
34public:
39 {
41 FRONT_FACE_CW = 1
42 };
43
50
56
62 virtual void set_double_sided_lighting(bool double_sided) = 0;
63
68 virtual bool get_double_sided_lighting() const = 0;
69
75 virtual void set_backface_culling(bool backface_cull) = 0;
76
81 virtual bool get_backface_culling() const = 0;
82};
83
101 public mi::base::Interface_declare<0x9af9c55e,0xd0d2,0x4dee,0x93,0x3e,0xa5,0x5f,0x96,0x30,0xe3,0x16,
102 nv::index::IShading_model>
103{
104};
105
118 public mi::base::Interface_declare<0x65b99243,0x4dd8,0x41aa,0xa4,0x5d,0x45,0x0a,0x79,0xf5,0xd7,0xee,
119 nv::index::IShading_model>
120{
121};
122
123}} // namespace index / nv
124
125#endif // NVIDIA_INDEX_ISHADING_MODEL_H
An interface class representing flat shading.
Definition: ishading_model.h:103
An interface class representing Phong shading.
Definition: ishading_model.h:120
The interface class representing a shading model.
Definition: ishading_model.h:33
virtual Front_face_vertex_order get_front_face_vertex_order() const =0
Query the current vertex-ordering of front-facing polygons.
virtual void set_double_sided_lighting(bool double_sided)=0
By default, double-sided lighting is disabled but can be enabled using set_double_sided_lighting().
virtual bool get_backface_culling() const =0
Query if back-face culling is enabled.
virtual void set_backface_culling(bool backface_cull)=0
By default, back-face culling is disabled but can be enabled using set_backface_culling().
virtual bool get_double_sided_lighting() const =0
Query if double-sided lighting is enabled.
virtual void set_front_face_vertex_order(Front_face_vertex_order order)=0
Sets the vertex-ordering of front-facing polygons.
Front_face_vertex_order
This mode specifies the orientation of front-facing polygons in, for example, triangle meshes.
Definition: ishading_model.h:39
@ FRONT_FACE_CCW
Counter-clockwise vertex-ordering in front faces.
Definition: ishading_model.h:40
@ FRONT_FACE_CW
Clockwise order vertex-ordering in front faces.
Definition: ishading_model.h:41
Base class representing attributes that can be defined in a scene description.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349