bgfx/examples/40-svt/fs_vt_mip.sc
Бранимир Караџић 82f56b5987 Happy New Year!
2020-01-14 21:37:06 -08:00

25 lines
692 B
Scala

$input v_texcoord0
/*
* Copyright 2011-2020 Branimir Karadzic. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
/*
* Reference(s):
* - Based on Virtual Texture Demo by Brad Blanchard
* http://web.archive.org/web/20190103162638/http://linedef.com/virtual-texture-demo.html
*/
#include "../common/common.sh"
#include "virtualtexture.sh"
void main()
{
float mipCount = log2(PageTableSize);
float mip = floor(MipLevel(v_texcoord0.xy, VirtualTextureSize) - MipBias);
mip = clamp(mip, 0, mipCount);
vec2 offset = floor(v_texcoord0.xy * PageTableSize);
gl_FragColor = vec4(floor(vec3(offset / exp2(mip), mip)) / 255.0, 1.0);
}