NAP
renderglobals.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // External Includes
8 #include <string>
9 #include <glm/glm.hpp>
10 #include <utility/dllexport.h>
11 #include <nap/numeric.h>
12 
13 namespace nap
14 {
18  namespace index
19  {
20  constexpr uint primitiveRestartIndex = std::numeric_limits<uint>::max();
21  }
22 
23 
27  namespace shader
28  {
29  constexpr const char* main = "main";
30  }
31 
32 
53  namespace uniform
54  {
55  inline constexpr const char* mvpStruct = "nap";
56  inline constexpr const char* modelMatrix = "modelMatrix";
57  inline constexpr const char* viewMatrix = "viewMatrix";
58  inline constexpr const char* projectionMatrix = "projectionMatrix";
59  inline constexpr const char* normalMatrix = "normalMatrix";
60  inline constexpr const char* cameraPosition = "cameraPosition";
61  }
62 
63 
73  namespace vertexid
74  {
75  inline constexpr const char* position = "Position";
76  inline constexpr const char* normal = "Normal";
77  inline constexpr const char* tangent = "Tangent";
78  inline constexpr const char* bitangent = "Bitangent";
79  inline constexpr const char* uv = "UV0";
80  inline constexpr const char* color = "Color0";
81 
87  const NAPAPI std::string getUVName(int uvChannel);
88 
94  const NAPAPI std::string getColorName(int colorChannel);
95 
101  namespace shader
102  {
103  inline constexpr const char* position = "in_Position";
104  inline constexpr const char* normal = "in_Normals";
105  inline constexpr const char* tangent = "in_Tangent";
106  inline constexpr const char* bitangent = "in_Bitangent";
107  inline constexpr const char* color = "in_Color0";
108  inline constexpr const char* uv = "in_UV0";
109 
114  const NAPAPI std::string getUVInputName(int channel);
115 
120  const NAPAPI std::string getColorInputName(int channel);
121  }
122  }
123 }
nap::vertexid::shader::getUVInputName
const NAPAPI std::string getUVInputName(int channel)
nap::uint
unsigned int uint
Definition: numeric.h:23
nap::vertexid::shader::uv
constexpr const char * uv
Default shader uv vertex input name, 1 channel.
Definition: renderglobals.h:108
nap::vertexid::position
constexpr const char * position
Default mesh position vertex attribute name.
Definition: renderglobals.h:75
nap::vertexid::normal
constexpr const char * normal
Default mesh normal vertex attribute name
Definition: renderglobals.h:76
nap::vertexid::tangent
constexpr const char * tangent
Default mesh tangent vertex attribute name
Definition: renderglobals.h:77
nap::uniform::viewMatrix
constexpr const char * viewMatrix
uniform view matrix name
Definition: renderglobals.h:57
nap::shader::main
constexpr const char * main
Definition: renderglobals.h:29
nap::vertexid::shader::getColorInputName
const NAPAPI std::string getColorInputName(int channel)
nap::index::primitiveRestartIndex
constexpr uint primitiveRestartIndex
Definition: renderglobals.h:20
nap::uniform::cameraPosition
constexpr const char * cameraPosition
uniform camera world position name
Definition: renderglobals.h:60
nap::vertexid::bitangent
constexpr const char * bitangent
Default mesh bi-tangent vertex attribute name.
Definition: renderglobals.h:78
nap::vertexid::shader::bitangent
constexpr const char * bitangent
Default shader bi-tangent vertex input name.
Definition: renderglobals.h:106
nap::vertexid::uv
constexpr const char * uv
Default mesh uv vertex attribute name, 1 channel.
Definition: renderglobals.h:79
nap::vertexid::shader::color
constexpr const char * color
Default shader color vertex input name, 1 channel.
Definition: renderglobals.h:107
nap::uniform::normalMatrix
constexpr const char * normalMatrix
uniform normal matrix name
Definition: renderglobals.h:59
nap::vertexid::shader::position
constexpr const char * position
Default shader position vertex input name.
Definition: renderglobals.h:103
nap::vertexid::shader::tangent
constexpr const char * tangent
Default shader tangent vertex input name.
Definition: renderglobals.h:105
nap::uniform::modelMatrix
constexpr const char * modelMatrix
uniform model matrix name
Definition: renderglobals.h:56
nap::vertexid::shader::normal
constexpr const char * normal
Default shader normal vertex input name.
Definition: renderglobals.h:104
nap::vertexid::getColorName
const NAPAPI std::string getColorName(int colorChannel)
nap
Definition: templateapp.h:17
nap::vertexid::color
constexpr const char * color
Default mesh color attribute name, 1 channel.
Definition: renderglobals.h:80
nap::vertexid::getUVName
const NAPAPI std::string getUVName(int uvChannel)
nap::uniform::projectionMatrix
constexpr const char * projectionMatrix
uniform projection matrix name
Definition: renderglobals.h:58
nap::uniform::mvpStruct
constexpr const char * mvpStruct
default model view projection struct name
Definition: renderglobals.h:55