Updated to api changes for recent gli and glm versions

This commit is contained in:
saschawillems 2017-01-21 21:31:26 +01:00
parent ed8e8410b3
commit 90b8c82f75
8 changed files with 53 additions and 51 deletions

View file

@ -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;

View file

@ -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;

View file

@ -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"

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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)))