|
||||
File indexing completed on 2025-01-18 10:03:50
0001 // Created on: 1991-10-07 0002 // Created by: NW,JPB,CAL 0003 // Copyright (c) 1991-1999 Matra Datavision 0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS 0005 // 0006 // This file is part of Open CASCADE Technology software library. 0007 // 0008 // This library is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU Lesser General Public License version 2.1 as published 0010 // by the Free Software Foundation, with special exception defined in the file 0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0012 // distribution for complete text of the license and disclaimer of any warranty. 0013 // 0014 // Alternatively, this file may be used under the terms of Open CASCADE 0015 // commercial license or contractual agreement. 0016 0017 #ifndef _Graphic3d_TypeOfShadingModel_HeaderFile 0018 #define _Graphic3d_TypeOfShadingModel_HeaderFile 0019 0020 //! Definition of the color shading model. 0021 enum Graphic3d_TypeOfShadingModel 0022 { 0023 //! Use Shading Model, specified as default for entire Viewer. 0024 Graphic3d_TypeOfShadingModel_DEFAULT = -1, 0025 0026 //! Unlit Shading (or shadeless), lighting is ignored and facet is fully filled by its material color. 0027 //! This model is useful for artificial/auxiliary objects, not intended to be lit, 0028 //! or for objects with pre-calculated lighting information (e.g. captured by camera). 0029 Graphic3d_TypeOfShadingModel_Unlit = 0, 0030 0031 //! Flat Shading for Phong material model, calculated using triangle normal. 0032 //! Could be useful for mesh element analysis. 0033 //! This shading model does NOT require normals to be defined within vertex attributes. 0034 Graphic3d_TypeOfShadingModel_PhongFacet, 0035 0036 //! Gouraud shading uses the same material definition as Phong reflection model, 0037 //! but emulates an obsolete per-vertex calculations with result color interpolated across fragments, 0038 //! as implemented by T&L hardware blocks on old graphics hardware. 0039 //! This shading model requires normals to be defined within vertex attributes. 0040 Graphic3d_TypeOfShadingModel_Gouraud, 0041 0042 //! Phong reflection model, an empirical model defined by Diffuse/Ambient/Specular/Shininess components. 0043 //! Lighting is calculated per-fragment basing on nodal normal (normal is interpolated across fragments of triangle). 0044 //! This shading model requires normals to be defined within vertex attributes. 0045 Graphic3d_TypeOfShadingModel_Phong, 0046 0047 //! Metallic-roughness physically based (PBR) illumination system. 0048 Graphic3d_TypeOfShadingModel_Pbr, 0049 0050 //! Same as Graphic3d_TypeOfShadingModel_Pbr but using flat per-triangle normal. 0051 Graphic3d_TypeOfShadingModel_PbrFacet, 0052 0053 // obsolete aliases 0054 Graphic3d_TOSM_DEFAULT = Graphic3d_TypeOfShadingModel_DEFAULT, 0055 Graphic3d_TOSM_UNLIT = Graphic3d_TypeOfShadingModel_Unlit, 0056 Graphic3d_TOSM_FACET = Graphic3d_TypeOfShadingModel_PhongFacet, 0057 Graphic3d_TOSM_VERTEX = Graphic3d_TypeOfShadingModel_Gouraud, 0058 Graphic3d_TOSM_FRAGMENT = Graphic3d_TypeOfShadingModel_Phong, 0059 Graphic3d_TOSM_PBR = Graphic3d_TypeOfShadingModel_Pbr, 0060 Graphic3d_TOSM_PBR_FACET = Graphic3d_TypeOfShadingModel_PbrFacet, 0061 // 0062 Graphic3d_TOSM_NONE = Graphic3d_TOSM_UNLIT, 0063 V3d_COLOR = Graphic3d_TOSM_NONE, 0064 V3d_FLAT = Graphic3d_TOSM_FACET, 0065 V3d_GOURAUD = Graphic3d_TOSM_VERTEX, 0066 V3d_PHONG = Graphic3d_TOSM_FRAGMENT 0067 }; 0068 0069 enum 0070 { 0071 //! Auxiliary value defining the overall number of values in enumeration Graphic3d_TypeOfShadingModel 0072 Graphic3d_TypeOfShadingModel_NB = Graphic3d_TypeOfShadingModel_PbrFacet + 1 0073 }; 0074 0075 #endif // _Graphic3d_TypeOfShadingModel_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |