Updated to api changes for recent gli and glm versions
This commit is contained in:
parent
ed8e8410b3
commit
90b8c82f75
8 changed files with 53 additions and 51 deletions
|
|
@ -8,6 +8,9 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
|
||||
#include <vulkan/vulkan.h>
|
||||
#include <gli/gli.hpp>
|
||||
|
||||
|
|
@ -133,17 +136,17 @@ namespace vkTools
|
|||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
|
||||
gli::texture2D tex2D(gli::load((const char*)textureData, size));
|
||||
gli::texture2d tex2D(gli::load((const char*)textureData, size));
|
||||
|
||||
free(textureData);
|
||||
#else
|
||||
gli::texture2D tex2D(gli::load(filename.c_str()));
|
||||
gli::texture2d tex2D(gli::load(filename.c_str()));
|
||||
#endif
|
||||
assert(!tex2D.empty());
|
||||
|
||||
texture->device = vulkanDevice->logicalDevice;
|
||||
texture->width = static_cast<uint32_t>(tex2D[0].dimensions().x);
|
||||
texture->height = static_cast<uint32_t>(tex2D[0].dimensions().y);
|
||||
texture->width = static_cast<uint32_t>(tex2D[0].extent().x);
|
||||
texture->height = static_cast<uint32_t>(tex2D[0].extent().y);
|
||||
texture->mipLevels = static_cast<uint32_t>(tex2D.levels());
|
||||
|
||||
// Get device properites for the requested texture format
|
||||
|
|
@ -205,8 +208,8 @@ namespace vkTools
|
|||
bufferCopyRegion.imageSubresource.mipLevel = i;
|
||||
bufferCopyRegion.imageSubresource.baseArrayLayer = 0;
|
||||
bufferCopyRegion.imageSubresource.layerCount = 1;
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(tex2D[i].dimensions().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(tex2D[i].dimensions().y);
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(tex2D[i].extent().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(tex2D[i].extent().y);
|
||||
bufferCopyRegion.imageExtent.depth = 1;
|
||||
bufferCopyRegion.bufferOffset = offset;
|
||||
|
||||
|
|
@ -462,17 +465,17 @@ namespace vkTools
|
|||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
|
||||
gli::textureCube texCube(gli::load((const char*)textureData, size));
|
||||
gli::texture_cube texCube(gli::load((const char*)textureData, size));
|
||||
|
||||
free(textureData);
|
||||
#else
|
||||
gli::textureCube texCube(gli::load(filename));
|
||||
gli::texture_cube texCube(gli::load(filename));
|
||||
#endif
|
||||
assert(!texCube.empty());
|
||||
|
||||
texture->device = vulkanDevice->logicalDevice;
|
||||
texture->width = static_cast<uint32_t>(texCube.dimensions().x);
|
||||
texture->height = static_cast<uint32_t>(texCube.dimensions().y);
|
||||
texture->width = static_cast<uint32_t>(texCube.extent().x);
|
||||
texture->height = static_cast<uint32_t>(texCube.extent().y);
|
||||
texture->mipLevels = static_cast<uint32_t>(texCube.levels());
|
||||
|
||||
VkMemoryAllocateInfo memAllocInfo = vkTools::initializers::memoryAllocateInfo();
|
||||
|
|
@ -519,8 +522,8 @@ namespace vkTools
|
|||
bufferCopyRegion.imageSubresource.mipLevel = level;
|
||||
bufferCopyRegion.imageSubresource.baseArrayLayer = face;
|
||||
bufferCopyRegion.imageSubresource.layerCount = 1;
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(texCube[face][level].dimensions().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(texCube[face][level].dimensions().y);
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(texCube[face][level].extent().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(texCube[face][level].extent().y);
|
||||
bufferCopyRegion.imageExtent.depth = 1;
|
||||
bufferCopyRegion.bufferOffset = offset;
|
||||
|
||||
|
|
@ -683,18 +686,18 @@ namespace vkTools
|
|||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
|
||||
gli::texture2DArray tex2DArray(gli::load((const char*)textureData, size));
|
||||
gli::texture2d_array tex2DArray(gli::load((const char*)textureData, size));
|
||||
|
||||
free(textureData);
|
||||
#else
|
||||
gli::texture2DArray tex2DArray(gli::load(filename));
|
||||
gli::texture2d_array tex2DArray(gli::load(filename));
|
||||
#endif
|
||||
|
||||
assert(!tex2DArray.empty());
|
||||
|
||||
texture->device = vulkanDevice->logicalDevice;
|
||||
texture->width = static_cast<uint32_t>(tex2DArray.dimensions().x);
|
||||
texture->height = static_cast<uint32_t>(tex2DArray.dimensions().y);
|
||||
texture->width = static_cast<uint32_t>(tex2DArray.extent().x);
|
||||
texture->height = static_cast<uint32_t>(tex2DArray.extent().y);
|
||||
texture->layerCount = static_cast<uint32_t>(tex2DArray.layers());
|
||||
texture->mipLevels = static_cast<uint32_t>(tex2DArray.levels());
|
||||
|
||||
|
|
@ -742,8 +745,8 @@ namespace vkTools
|
|||
bufferCopyRegion.imageSubresource.mipLevel = level;
|
||||
bufferCopyRegion.imageSubresource.baseArrayLayer = layer;
|
||||
bufferCopyRegion.imageSubresource.layerCount = 1;
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(tex2DArray[layer][level].dimensions().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(tex2DArray[layer][level].dimensions().y);
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(tex2DArray[layer][level].extent().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(tex2DArray[layer][level].extent().y);
|
||||
bufferCopyRegion.imageExtent.depth = 1;
|
||||
bufferCopyRegion.bufferOffset = offset;
|
||||
|
||||
|
|
|
|||
|
|
@ -83,12 +83,12 @@ namespace vkTools
|
|||
void *textureData = malloc(size);
|
||||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
gli::texture2D heightTex(gli::load((const char*)textureData, size));
|
||||
gli::texture2d heightTex(gli::load((const char*)textureData, size));
|
||||
free(textureData);
|
||||
#else
|
||||
gli::texture2D heightTex(gli::load(filename));
|
||||
gli::texture2d heightTex(gli::load(filename));
|
||||
#endif
|
||||
dim = static_cast<uint32_t>(heightTex.dimensions().x);
|
||||
dim = static_cast<uint32_t>(heightTex.extent().x);
|
||||
heightdata = new uint16_t[dim * dim];
|
||||
memcpy(heightdata, heightTex.data(), heightTex.size());
|
||||
this->scale = dim / patchsize;
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
#define GLM_FORCE_DEPTH_ZERO_TO_ONE
|
||||
#include <glm/glm.hpp>
|
||||
#include <glm/gtc/matrix_transform.hpp>
|
||||
#include <glm/gtx/rotate_vector.hpp>
|
||||
|
||||
#include <vulkan/vulkan.h>
|
||||
#include "vulkanexamplebase.h"
|
||||
|
|
|
|||
|
|
@ -355,12 +355,12 @@ public:
|
|||
void *textureData = malloc(size);
|
||||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
gli::texture2D heightTex(gli::load((const char*)textureData, size));
|
||||
gli::texture2d heightTex(gli::load((const char*)textureData, size));
|
||||
free(textureData);
|
||||
#else
|
||||
gli::texture2D heightTex(gli::load(filename));
|
||||
gli::texture2d heightTex(gli::load(filename));
|
||||
#endif
|
||||
dim = static_cast<uint32_t>(heightTex.dimensions().x);
|
||||
dim = static_cast<uint32_t>(heightTex.extent().x);
|
||||
heightdata = new uint16_t[dim * dim];
|
||||
memcpy(heightdata, heightTex.data(), heightTex.size());
|
||||
this->scale = dim / patchsize;
|
||||
|
|
|
|||
|
|
@ -183,17 +183,17 @@ public:
|
|||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
|
||||
gli::texture2D tex2D(gli::load((const char*)textureData, size));
|
||||
gli::texture2d tex2D(gli::load((const char*)textureData, size));
|
||||
#else
|
||||
gli::texture2D tex2D(gli::load(fileName));
|
||||
gli::texture2d tex2D(gli::load(fileName));
|
||||
#endif
|
||||
|
||||
assert(!tex2D.empty());
|
||||
|
||||
VkFormatProperties formatProperties;
|
||||
|
||||
texture.width = static_cast<uint32_t>(tex2D[0].dimensions().x);
|
||||
texture.height = static_cast<uint32_t>(tex2D[0].dimensions().y);
|
||||
texture.width = static_cast<uint32_t>(tex2D[0].extent().x);
|
||||
texture.height = static_cast<uint32_t>(tex2D[0].extent().y);
|
||||
texture.mipLevels = static_cast<uint32_t>(tex2D.levels());
|
||||
|
||||
// Get device properites for the requested texture format
|
||||
|
|
@ -257,8 +257,8 @@ public:
|
|||
bufferCopyRegion.imageSubresource.mipLevel = i;
|
||||
bufferCopyRegion.imageSubresource.baseArrayLayer = 0;
|
||||
bufferCopyRegion.imageSubresource.layerCount = 1;
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(tex2D[i].dimensions().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(tex2D[i].dimensions().y);
|
||||
bufferCopyRegion.imageExtent.width = static_cast<uint32_t>(tex2D[i].extent().x);
|
||||
bufferCopyRegion.imageExtent.height = static_cast<uint32_t>(tex2D[i].extent().y);
|
||||
bufferCopyRegion.imageExtent.depth = 1;
|
||||
bufferCopyRegion.bufferOffset = offset;
|
||||
|
||||
|
|
|
|||
|
|
@ -122,15 +122,15 @@ public:
|
|||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
|
||||
gli::texture2DArray tex2DArray(gli::load((const char*)textureData, size));
|
||||
gli::texture2d_array tex2DArray(gli::load((const char*)textureData, size));
|
||||
#else
|
||||
gli::texture2DArray tex2DArray(gli::load(filename));
|
||||
gli::texture2d_array tex2DArray(gli::load(filename));
|
||||
#endif
|
||||
|
||||
assert(!tex2DArray.empty());
|
||||
|
||||
textureArray.width = tex2DArray.dimensions().x;
|
||||
textureArray.height = tex2DArray.dimensions().y;
|
||||
textureArray.width = tex2DArray.extent().x;
|
||||
textureArray.height = tex2DArray.extent().y;
|
||||
layerCount = tex2DArray.layers();
|
||||
|
||||
VkMemoryAllocateInfo memAllocInfo = vkTools::initializers::memoryAllocateInfo();
|
||||
|
|
@ -168,11 +168,11 @@ public:
|
|||
std::vector<VkBufferImageCopy> bufferCopyRegions;
|
||||
uint32_t offset = 0;
|
||||
|
||||
// Check if all array layers have the same dimesions
|
||||
// Check if all array layers have the same dimensions
|
||||
bool sameDims = true;
|
||||
for (uint32_t layer = 0; layer < layerCount; layer++)
|
||||
{
|
||||
if (tex2DArray[layer].dimensions().x != textureArray.width || tex2DArray[layer].dimensions().y != textureArray.height)
|
||||
if (tex2DArray[layer].extent().x != textureArray.width || tex2DArray[layer].extent().y != textureArray.height)
|
||||
{
|
||||
sameDims = false;
|
||||
break;
|
||||
|
|
@ -187,8 +187,8 @@ public:
|
|||
bufferCopyRegion.imageSubresource.mipLevel = 0;
|
||||
bufferCopyRegion.imageSubresource.baseArrayLayer = 0;
|
||||
bufferCopyRegion.imageSubresource.layerCount = layerCount;
|
||||
bufferCopyRegion.imageExtent.width = tex2DArray[0].dimensions().x;
|
||||
bufferCopyRegion.imageExtent.height = tex2DArray[0].dimensions().y;
|
||||
bufferCopyRegion.imageExtent.width = tex2DArray[0].extent().x;
|
||||
bufferCopyRegion.imageExtent.height = tex2DArray[0].extent().y;
|
||||
bufferCopyRegion.imageExtent.depth = 1;
|
||||
bufferCopyRegion.bufferOffset = offset;
|
||||
|
||||
|
|
@ -204,8 +204,8 @@ public:
|
|||
bufferCopyRegion.imageSubresource.mipLevel = 0;
|
||||
bufferCopyRegion.imageSubresource.baseArrayLayer = layer;
|
||||
bufferCopyRegion.imageSubresource.layerCount = 1;
|
||||
bufferCopyRegion.imageExtent.width = tex2DArray[layer].dimensions().x;
|
||||
bufferCopyRegion.imageExtent.height = tex2DArray[layer].dimensions().y;
|
||||
bufferCopyRegion.imageExtent.width = tex2DArray[layer].extent().x;
|
||||
bufferCopyRegion.imageExtent.height = tex2DArray[layer].extent().y;
|
||||
bufferCopyRegion.imageExtent.depth = 1;
|
||||
bufferCopyRegion.bufferOffset = offset;
|
||||
|
||||
|
|
|
|||
|
|
@ -127,15 +127,15 @@ public:
|
|||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
|
||||
gli::textureCube texCube(gli::load((const char*)textureData, size));
|
||||
gli::texture_cube texCube(gli::load((const char*)textureData, size));
|
||||
#else
|
||||
gli::textureCube texCube(gli::load(filename));
|
||||
gli::texture_cube texCube(gli::load(filename));
|
||||
#endif
|
||||
|
||||
assert(!texCube.empty());
|
||||
|
||||
cubeMap.width = texCube.dimensions().x;
|
||||
cubeMap.height = texCube.dimensions().y;
|
||||
cubeMap.width = texCube.extent().x;
|
||||
cubeMap.height = texCube.extent().y;
|
||||
cubeMap.mipLevels = texCube.levels();
|
||||
|
||||
VkMemoryAllocateInfo memAllocInfo = vkTools::initializers::memoryAllocateInfo();
|
||||
|
|
@ -209,8 +209,8 @@ public:
|
|||
bufferCopyRegion.imageSubresource.mipLevel = level;
|
||||
bufferCopyRegion.imageSubresource.baseArrayLayer = face;
|
||||
bufferCopyRegion.imageSubresource.layerCount = 1;
|
||||
bufferCopyRegion.imageExtent.width = texCube[face][level].dimensions().x;
|
||||
bufferCopyRegion.imageExtent.height = texCube[face][level].dimensions().y;
|
||||
bufferCopyRegion.imageExtent.width = texCube[face][level].extent().x;
|
||||
bufferCopyRegion.imageExtent.height = texCube[face][level].extent().y;
|
||||
bufferCopyRegion.imageExtent.depth = 1;
|
||||
bufferCopyRegion.bufferOffset = offset;
|
||||
|
||||
|
|
|
|||
|
|
@ -121,17 +121,17 @@ public:
|
|||
AAsset_read(asset, textureData, size);
|
||||
AAsset_close(asset);
|
||||
|
||||
gli::texture2D tex2D(gli::load((const char*)textureData, size));
|
||||
gli::texture2d tex2D(gli::load((const char*)textureData, size));
|
||||
#else
|
||||
gli::texture2D tex2D(gli::load(fileName));
|
||||
gli::texture2d tex2D(gli::load(fileName));
|
||||
#endif
|
||||
|
||||
assert(!tex2D.empty());
|
||||
|
||||
VkFormatProperties formatProperties;
|
||||
|
||||
texture.width = static_cast<uint32_t>(tex2D[0].dimensions().x);
|
||||
texture.height = static_cast<uint32_t>(tex2D[0].dimensions().y);
|
||||
texture.width = static_cast<uint32_t>(tex2D[0].extent().x);
|
||||
texture.height = static_cast<uint32_t>(tex2D[0].extent().y);
|
||||
|
||||
// calculate num of mip maps
|
||||
// numLevels = 1 + floor(log2(max(w, h, d)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue