Skip to content

Commit 5ec1489

Browse files
committed
auto generate mip levels
1 parent 2a5986d commit 5ec1489

File tree

12 files changed

+1273
-1032
lines changed

12 files changed

+1273
-1032
lines changed

assets/shaders/MaterialShader.frag

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ void main() {
7676
} else if(in_mode == 2) {
7777
out_colour = vec4(abs(normal), 1.0);
7878
}
79+
else if(in_mode == 3)
80+
{
81+
float mipLevel = textureQueryLod(samplers[SAMP_DIFFUSE], in_dto.tex_coord).x;
82+
out_colour = vec4(0.2 * mipLevel);
83+
}
7984
}
8085

8186
vec4 calculate_directional_light(directional_light light, vec3 normal, vec3 view_direction) {

engine/loaders/image_loader.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ namespace egkr
6969
properties->id = 0;
7070
properties->data = image_data;
7171
properties->name = name;
72+
properties->mip_levels = (uint32_t)std::floorf(std::log2f(std::max(width, height))) + 1;
7273

7374
for (auto y{0}; y < height; ++y)
7475
{

engine/plugins/renderer/vulkan/swapchain.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,8 @@ namespace egkr
257257
.usage = vk::ImageUsageFlagBits::eTransferSrc | vk::ImageUsageFlagBits::eTransferDst | vk::ImageUsageFlagBits::eSampled | vk::ImageUsageFlagBits::eColorAttachment,
258258
.memory_properties = vk::MemoryPropertyFlagBits::eDeviceLocal,
259259
.aspect_flags = vk::ImageAspectFlagBits::eColor,
260-
.texture_type = egkr::texture::type::texture_2d};
260+
.texture_type = egkr::texture::type::texture_2d,
261+
.mip_levels = 1};
261262
((vulkan_texture*)(render_textures_[i].get()))->populate_internal(depth_image_properties);
262263
}
263264
}

0 commit comments

Comments
 (0)