更改更合适的宏定义文件名,重构gltfPrimitive
							parent
							
								
									7f3056d2fe
								
							
						
					
					
						commit
						19bb71ee57
					
				| 
						 | 
					@ -9,20 +9,26 @@ set(MAIN_FILE
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(GLTF_MODEL_LOADER
 | 
					set(GLTF_MODEL_LOADER
 | 
				
			||||||
 | 
						"${PLUMAGE_RENDER}/glTFModel_Marco.h"
 | 
				
			||||||
 | 
						"${PLUMAGE_RENDER}/glTFModel_common.h"
 | 
				
			||||||
	"${PLUMAGE_RENDER}/glTFBoundingBox.h"
 | 
						"${PLUMAGE_RENDER}/glTFBoundingBox.h"
 | 
				
			||||||
	"${PLUMAGE_RENDER}/glTFBoundingBox.cpp"
 | 
						"${PLUMAGE_RENDER}/glTFBoundingBox.cpp"
 | 
				
			||||||
	"${PLUMAGE_RENDER}/glTFTexture.h" 
 | 
						"${PLUMAGE_RENDER}/glTFTexture.h" 
 | 
				
			||||||
	"${PLUMAGE_RENDER}/glTFTexture.cpp"
 | 
						"${PLUMAGE_RENDER}/glTFTexture.cpp"
 | 
				
			||||||
	"render/glTFModel.h" 
 | 
						"${PLUMAGE_RENDER}/glTFModel.h" 
 | 
				
			||||||
	"render/glTFModel.cpp" 
 | 
						"${PLUMAGE_RENDER}/glTFModel.cpp" 
 | 
				
			||||||
)
 | 
						"${PLUMAGE_RENDER}/glTFMaterial.h" 
 | 
				
			||||||
 | 
						"${PLUMAGE_RENDER}/glTFMaterial.cpp" 
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						"${PLUMAGE_RENDER}/glTFPrimitive.cpp"
 | 
				
			||||||
 | 
					 "render/glTFPrimitive.h")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
set(VULKAN_BASE
 | 
					set(VULKAN_BASE
 | 
				
			||||||
	"render/VulkanBase_Common.h"
 | 
						"${PLUMAGE_RENDER}/VulkanBase_Marco.h"
 | 
				
			||||||
	"render/VulkanDevice.h"
 | 
						"${PLUMAGE_RENDER}/VulkanDevice.h"
 | 
				
			||||||
	"render/VulkanDevice.cpp"
 | 
						"${PLUMAGE_RENDER}/VulkanDevice.cpp"
 | 
				
			||||||
	"render/VulkanTextureSampler.h"
 | 
						"${PLUMAGE_RENDER}/VulkanTextureSampler.h"
 | 
				
			||||||
	"render/VulkanTextureSampler.cpp"
 | 
						"${PLUMAGE_RENDER}/VulkanTextureSampler.cpp"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# wayland requires additional source files
 | 
					# wayland requires additional source files
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
#ifndef VULKANDEVICE_H
 | 
					#ifndef VULKANDEVICE_H
 | 
				
			||||||
#define VULKANDEVICE_H
 | 
					#define VULKANDEVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "VulkanBase_Common.h"
 | 
					#include "VulkanBase_Marco.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <vulkan/vulkan.h>
 | 
					#include <vulkan/vulkan.h>
 | 
				
			||||||
#include <vector>
 | 
					#include <vector>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
#ifndef VULKANTEXTURESAMPLER_H
 | 
					#ifndef VULKANTEXTURESAMPLER_H
 | 
				
			||||||
#define VULKANTEXTURESAMPLER_H
 | 
					#define VULKANTEXTURESAMPLER_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "VulkanBase_Common.h"
 | 
					#include "VulkanBase_Marco.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <vulkan/vulkan.h>
 | 
					#include <vulkan/vulkan.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,49 +3,56 @@
 | 
				
			||||||
GLTFLOADER_NAMESPACE_BEGIN
 | 
					GLTFLOADER_NAMESPACE_BEGIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
glTFBoundingBOX::glTFBoundingBOX()
 | 
					glTFBoundingBox::glTFBoundingBox()
 | 
				
			||||||
	: m_isValid(false)
 | 
						: m_isValid(true)
 | 
				
			||||||
	, m_Min(glm::vec3(0,0,0))
 | 
						, m_Min(glm::vec3(0,0,0))
 | 
				
			||||||
	, m_Max(glm::vec3(1,1,1))
 | 
						, m_Max(glm::vec3(1,1,1))
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
glTFBoundingBOX::glTFBoundingBOX(glm::vec3 min, glm::vec3 max)
 | 
					glTFBoundingBox::glTFBoundingBox(glm::vec3 min, glm::vec3 max)
 | 
				
			||||||
	: m_isValid(false)
 | 
						: m_isValid(true)
 | 
				
			||||||
	, m_Min(min)
 | 
						, m_Min(min)
 | 
				
			||||||
	, m_Max(max)
 | 
						, m_Max(max)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
glTFBoundingBOX::~glTFBoundingBOX()
 | 
					glTFBoundingBox::~glTFBoundingBox()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
glTFBoundingBOX glTFBoundingBOX::getAABB(glm::mat4 matrix)
 | 
					glTFBoundingBox glTFBoundingBox::getAABB(glm::mat4 matrix)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	glm::vec3 min = glm::vec3(matrix[3]);
 | 
						glm::vec3 min = glm::vec3(matrix[3]);
 | 
				
			||||||
	glm::vec3 max = min;
 | 
						glm::vec3 max = min;
 | 
				
			||||||
	glm::vec3 v0, v1;
 | 
						glm::vec3 v0, v1;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	glm::vec3 right = glm::vec3(matrix[0]);
 | 
						glm::vec3 right = glm::vec3(matrix[0]);
 | 
				
			||||||
	v0 = right * m_Min.x;
 | 
						v0 = right * m_min.x;
 | 
				
			||||||
	v1 = right * m_Max.x;
 | 
						v1 = right * m_max.x;
 | 
				
			||||||
	min += glm::min(v0, v1);
 | 
						min += glm::min(v0, v1);
 | 
				
			||||||
	max += glm::max(v0, v1);
 | 
						max += glm::max(v0, v1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	glm::vec3 up = glm::vec3(matrix[1]);
 | 
						glm::vec3 up = glm::vec3(matrix[1]);
 | 
				
			||||||
	v0 = up * m_Min.y;
 | 
						v0 = up * m_min.y;
 | 
				
			||||||
	v1 = up * m_Max.y;
 | 
						v1 = up * m_max.y;
 | 
				
			||||||
	min += glm::min(v0, v1);
 | 
						min += glm::min(v0, v1);
 | 
				
			||||||
	max += glm::max(v0, v1);
 | 
						max += glm::max(v0, v1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	glm::vec3 back = glm::vec3(matrix[2]);
 | 
						glm::vec3 back = glm::vec3(matrix[2]);
 | 
				
			||||||
	v0 = back * m_Min.z;
 | 
						v0 = back * m_min.z;
 | 
				
			||||||
	v1 = back * m_Max.z;
 | 
						v1 = back * m_max.z;
 | 
				
			||||||
	min += glm::min(v0, v1);
 | 
						min += glm::min(v0, v1);
 | 
				
			||||||
	max += glm::max(v0, v1);
 | 
						max += glm::max(v0, v1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return glTFBoundingBOX(min, max);
 | 
						return glTFBoundingBox(min, max);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void glTFBoundingBox::setBoundingBox(glm::vec3 min, glm::vec3 max)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						m_min = min;
 | 
				
			||||||
 | 
						m_max = max;
 | 
				
			||||||
 | 
						m_isValid = true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,24 +1,26 @@
 | 
				
			||||||
#ifndef GLTFBOUNDINGBOX_H
 | 
					#ifndef GLTFBOUNDINGBOX_H
 | 
				
			||||||
#define GLTFBOUNDINGBOX_H
 | 
					#define GLTFBOUNDINGBOX_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "glTFModel_Common.h"
 | 
					#include "glTFModel_Marco.h"
 | 
				
			||||||
#include <glm/glm.hpp>
 | 
					#include <glm.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GLTFLOADER_NAMESPACE_BEGIN
 | 
					GLTFLOADER_NAMESPACE_BEGIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class glTFBoundingBOX
 | 
					class glTFBoundingBox
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	glTFBoundingBOX();
 | 
						glTFBoundingBox();
 | 
				
			||||||
	glTFBoundingBOX(glm::vec3 min, glm::vec3 max);
 | 
						glTFBoundingBox(glm::vec3 min, glm::vec3 max);
 | 
				
			||||||
	~glTFBoundingBOX();
 | 
						~glTFBoundingBox();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	glTFBoundingBOX getAABB(glm::mat4 matrix);
 | 
						glTFBoundingBox getAABB(glm::mat4 matrix);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void setBoundingBox(glm::vec3 min, glm::vec3 max);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	glm::vec3 m_Min;
 | 
						glm::vec3 m_min;
 | 
				
			||||||
	glm::vec3 m_Max;
 | 
						glm::vec3 m_max;
 | 
				
			||||||
	bool m_isValid = false;
 | 
						bool m_isValid = false;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					#include "glTFMaterial.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_BEGIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					glTFMaterial::glTFMaterial()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					glTFMaterial::~glTFMaterial()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_END
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,62 @@
 | 
				
			||||||
 | 
					#ifndef GLTFMATERIAL_H
 | 
				
			||||||
 | 
					#define GLTFMATERIAL_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "glTFModel_Marco.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "glTFModel_common.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "glTFTexture.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <glm.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_BEGIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class glTFMaterial
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						glTFMaterial();
 | 
				
			||||||
 | 
						~glTFMaterial();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						AlphaMode m_alphaMode = ALPHAMODE_OPAQUE;
 | 
				
			||||||
 | 
						float m_alphaCutoff = 1.0f;
 | 
				
			||||||
 | 
						float m_metallicFactor = 1.0f;
 | 
				
			||||||
 | 
						float m_roughnessFactor = 1.0f;
 | 
				
			||||||
 | 
						glm::vec4 m_baseColorFactor = glm::vec4(1.0f);
 | 
				
			||||||
 | 
						glm::vec4 m_emissiveFactor = glm::vec4(1.0f);
 | 
				
			||||||
 | 
						glTFTexture* m_baseColorTexture = nullptr;
 | 
				
			||||||
 | 
						glTFTexture* m_metallicRoughnessTexture = nullptr;
 | 
				
			||||||
 | 
						glTFTexture* m_normalTexture = nullptr;
 | 
				
			||||||
 | 
						glTFTexture* m_occlusionTexture = nullptr;
 | 
				
			||||||
 | 
						glTFTexture* m_emissiveTexture = nullptr;
 | 
				
			||||||
 | 
						bool m_doubleSided = false;
 | 
				
			||||||
 | 
						struct TexCoordSets {
 | 
				
			||||||
 | 
							uint8_t baseColor = 0;
 | 
				
			||||||
 | 
							uint8_t metallicRoughness = 0;
 | 
				
			||||||
 | 
							uint8_t specularGlossiness = 0;
 | 
				
			||||||
 | 
							uint8_t normal = 0;
 | 
				
			||||||
 | 
							uint8_t occlusion = 0;
 | 
				
			||||||
 | 
							uint8_t emissive = 0;
 | 
				
			||||||
 | 
						} m_texCoordSets;
 | 
				
			||||||
 | 
						struct Extension {
 | 
				
			||||||
 | 
							glTFTexture* specularGlossinessTexture = nullptr;
 | 
				
			||||||
 | 
							glTFTexture* diffuseTexture = nullptr;
 | 
				
			||||||
 | 
							glm::vec4 diffuseFactor = glm::vec4(1.0f);
 | 
				
			||||||
 | 
							glm::vec3 specularFactor = glm::vec3(0.0f);
 | 
				
			||||||
 | 
						} m_extension;
 | 
				
			||||||
 | 
						struct PbrWorkflows {
 | 
				
			||||||
 | 
							bool metallicRoughness = true;
 | 
				
			||||||
 | 
							bool specularGlossiness = false;
 | 
				
			||||||
 | 
						} m_pbrWorkflows;
 | 
				
			||||||
 | 
						VkDescriptorSet m_descriptorSet = VK_NULL_HANDLE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // !GLTFMATERIAL_H
 | 
				
			||||||
| 
						 | 
					@ -1,30 +1,22 @@
 | 
				
			||||||
#pragma once
 | 
					#ifndef GLTFMODEL_COMMON_H
 | 
				
			||||||
 | 
					#define GLTFMODEL_COMMON_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// 命名空间宏
 | 
					#include "glTFModel_Marco.h"
 | 
				
			||||||
#define GLTFLOADER_NAMESPACE_BEGIN namespace glTFLoader {
 | 
					 | 
				
			||||||
#define GLTFLOADER_NAMESPACE_END }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// windows 导入导出宏,GLTFLOADER_EXPORTS将在cmake中定义
 | 
					GLTFLOADER_NAMESPACE_BEGIN
 | 
				
			||||||
/// unix-like 下提供符号可见性控制
 | 
					
 | 
				
			||||||
#ifdef GLTFLOADER_STATIC_BUILD
 | 
					enum AlphaMode
 | 
				
			||||||
	#define GLTFLOADER_API
 | 
					{
 | 
				
			||||||
	#define GLTFLOADER_LOCAL
 | 
						ALPHAMODE_OPAQUE,
 | 
				
			||||||
#else
 | 
						ALPHAMODE_MASK,
 | 
				
			||||||
	#ifdef _WIN32
 | 
						ALPHAMODE_BLEND
 | 
				
			||||||
		#ifdef GLTFLOADER_EXPORTS
 | 
					};
 | 
				
			||||||
			#define GLTFLOADER_API __declspec(dllexport)
 | 
					
 | 
				
			||||||
			#define GLTFLOADER_LOCAL
 | 
					
 | 
				
			||||||
		#else
 | 
					
 | 
				
			||||||
			#define GLTFLOADER_API __declspec(dllimport)
 | 
					GLTFLOADER_NAMESPACE_END
 | 
				
			||||||
			#define GLTFLOADER_LOCAL
 | 
					
 | 
				
			||||||
		#endif
 | 
					
 | 
				
			||||||
	#else
 | 
					
 | 
				
			||||||
		#if __GNUC__ >= 4 || defined(__clang__)
 | 
					
 | 
				
			||||||
			#define GLTFLOADER_API __attribute__ ((visibility ("default")))
 | 
					#endif // !GLTFMODEL_COMMON_H
 | 
				
			||||||
			#define GLTFLOADER_LOCAL __attribute__ ((visibility ("hidden")))
 | 
					 | 
				
			||||||
		#else
 | 
					 | 
				
			||||||
			#define GLTFLOADER_API
 | 
					 | 
				
			||||||
			#define GLTFLOADER_LOCAL
 | 
					 | 
				
			||||||
		#endif
 | 
					 | 
				
			||||||
	#endif
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,30 @@
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// 命名空间宏
 | 
				
			||||||
 | 
					#define GLTFLOADER_NAMESPACE_BEGIN namespace glTFLoader {
 | 
				
			||||||
 | 
					#define GLTFLOADER_NAMESPACE_END }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// windows 导入导出宏,GLTFLOADER_EXPORTS将在cmake中定义
 | 
				
			||||||
 | 
					/// unix-like 下提供符号可见性控制
 | 
				
			||||||
 | 
					#ifdef GLTFLOADER_STATIC_BUILD
 | 
				
			||||||
 | 
						#define GLTFLOADER_API
 | 
				
			||||||
 | 
						#define GLTFLOADER_LOCAL
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
						#ifdef _WIN32
 | 
				
			||||||
 | 
							#ifdef GLTFLOADER_EXPORTS
 | 
				
			||||||
 | 
								#define GLTFLOADER_API __declspec(dllexport)
 | 
				
			||||||
 | 
								#define GLTFLOADER_LOCAL
 | 
				
			||||||
 | 
							#else
 | 
				
			||||||
 | 
								#define GLTFLOADER_API __declspec(dllimport)
 | 
				
			||||||
 | 
								#define GLTFLOADER_LOCAL
 | 
				
			||||||
 | 
							#endif
 | 
				
			||||||
 | 
						#else
 | 
				
			||||||
 | 
							#if __GNUC__ >= 4 || defined(__clang__)
 | 
				
			||||||
 | 
								#define GLTFLOADER_API __attribute__ ((visibility ("default")))
 | 
				
			||||||
 | 
								#define GLTFLOADER_LOCAL __attribute__ ((visibility ("hidden")))
 | 
				
			||||||
 | 
							#else
 | 
				
			||||||
 | 
								#define GLTFLOADER_API
 | 
				
			||||||
 | 
								#define GLTFLOADER_LOCAL
 | 
				
			||||||
 | 
							#endif
 | 
				
			||||||
 | 
						#endif
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,25 @@
 | 
				
			||||||
 | 
					#include "glTFPrimitive.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_BEGIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					glTFPrimitive::glTFPrimitive(uint32_t firstIndex, uint32_t indexCount, uint32_t vertexCount, glTFMaterial& material)
 | 
				
			||||||
 | 
						:m_firstIndex(firstIndex)
 | 
				
			||||||
 | 
						,m_indexCount(indexCount)
 | 
				
			||||||
 | 
						,m_vertexCount(vertexCount)
 | 
				
			||||||
 | 
						,m_material(material)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						m_hasIndices = indexCount > 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					glTFPrimitive::~glTFPrimitive()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void glTFPrimitive::setBoundingBox(glm::vec3 min, glm::vec3 max)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						m_boundingBox.setBoundingBox(min, max);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_END
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,39 @@
 | 
				
			||||||
 | 
					#ifndef GLTFPRIMITIVE_H
 | 
				
			||||||
 | 
					#define GLTFPRIMITIVE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "glTFModel_Marco.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "glTFMaterial.h"
 | 
				
			||||||
 | 
					#include "glTFBoundingBox.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <glm.hpp>
 | 
				
			||||||
 | 
					#include <cstdint>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_BEGIN
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class GLTFLOADER_API glTFPrimitive
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						glTFPrimitive(uint32_t firstIndex, uint32_t indexCount, uint32_t vertexCount, glTFMaterial& material);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						~glTFPrimitive();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void setBoundingBox(glm::vec3 min, glm::vec3 max);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						uint32_t m_firstIndex;
 | 
				
			||||||
 | 
						uint32_t m_indexCount;
 | 
				
			||||||
 | 
						uint32_t m_vertexCount;
 | 
				
			||||||
 | 
						glTFMaterial& m_material;
 | 
				
			||||||
 | 
						bool m_hasIndices;
 | 
				
			||||||
 | 
						glTFBoundingBox m_boundingBox;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					GLTFLOADER_NAMESPACE_END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // !GLTFPRIMITIVE_H
 | 
				
			||||||
| 
						 | 
					@ -1,7 +1,7 @@
 | 
				
			||||||
#ifndef GLTFTEXTURE_H
 | 
					#ifndef GLTFTEXTURE_H
 | 
				
			||||||
#define GLTFTEXTURE_H
 | 
					#define GLTFTEXTURE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "glTFModel_Common.h"
 | 
					#include "glTFModel_Marco.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "VulkanDevice.h"
 | 
					#include "VulkanDevice.h"
 | 
				
			||||||
#include "VulkanTextureSampler.h"
 | 
					#include "VulkanTextureSampler.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue