update irradiance caculation
parent
441aca4df4
commit
463ac6fe59
|
@ -20,6 +20,17 @@
|
|||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "clang_cl_x64_x64" ]
|
||||
},
|
||||
{
|
||||
"name": "x64-Clang-Release",
|
||||
"generator": "Ninja",
|
||||
"configurationType": "RelWithDebInfo",
|
||||
"buildRoot": "${projectDir}\\out\\build\\${name}",
|
||||
"installRoot": "${projectDir}\\out\\install\\${name}",
|
||||
"cmakeCommandArgs": "",
|
||||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "clang_cl_x64_x64" ],
|
||||
"variables": []
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -249,6 +249,11 @@ public:
|
|||
vks::Buffer skinSSBO;
|
||||
} shaderData;
|
||||
|
||||
struct StagingBuffer {
|
||||
VkBuffer buffer;
|
||||
VkDeviceMemory memory;
|
||||
} vertexStaging, indexStaging;
|
||||
|
||||
struct Pipelines {
|
||||
VkPipeline solid;
|
||||
VkPipeline wireframe = VK_NULL_HANDLE;
|
||||
|
@ -325,6 +330,28 @@ public:
|
|||
vks::Texture2D lutBrdf;
|
||||
} ibltextures;
|
||||
|
||||
struct OffScreen
|
||||
{
|
||||
VkImage image;
|
||||
VkImageView view;
|
||||
VkDeviceMemory memory;
|
||||
VkFramebuffer framebuffer;
|
||||
} offscreen;
|
||||
|
||||
struct IrradiancePushBlock
|
||||
{
|
||||
glm::mat4 mvp;
|
||||
// Sampling deltas
|
||||
float deltaPhi = (2.0f * float(M_PI)) / 180.0f;
|
||||
float deltaTheta = (0.5f * float(M_PI)) / 64.0f;
|
||||
} irradinacePushBlock;
|
||||
|
||||
struct PrefilterPushBlock {
|
||||
glm::mat4 mvp;
|
||||
float roughness;
|
||||
uint32_t numSamples = 32u;
|
||||
} prefilterPushBlock;
|
||||
|
||||
VulkanglTFModel skyboxModel;
|
||||
|
||||
VulkanExample();
|
||||
|
@ -356,7 +383,7 @@ public:
|
|||
shaderData.buffer.destroy();
|
||||
shaderData.skinSSBO.destroy();
|
||||
}
|
||||
void loadglTFFile(std::string filename);
|
||||
void loadglTFFile(std::string filename, VulkanglTFModel& model, bool bSkyboxFlag = false);
|
||||
virtual void getEnabledFeatures();
|
||||
void createAttachment(VkFormat format, VkImageUsageFlagBits usage, FrameBufferAttachment* attachment, uint32_t width, uint32_t height);
|
||||
virtual void setupFrameBuffer();
|
||||
|
@ -365,6 +392,9 @@ public:
|
|||
void setupDescriptors();
|
||||
void preparePipelines();
|
||||
void prepareToneMappingPipeline();
|
||||
void generateIrradianceCubemap();
|
||||
void generatePrefilteredCubemap();
|
||||
void generateBRDFLUT();
|
||||
void prepareUniformBuffers();
|
||||
void updateUniformBuffers();
|
||||
void prepare();
|
||||
|
|
Loading…
Reference in New Issue