e34fdb4893
Change vs_ibl_skybox.sc to correctly use radians instead of degrees when specifying field-of-view. Additionally, use u_viewRect to find the correct aspect ratio of the viewport, instead of hard-coding to 4/3. Change fs_ibl_skybox.sc, fixing a number of small issues and mistakes. These mistakes would lead to incorrect lighting results, especially with metallic materials at glancing angles. This commit does not include the rebuilt .bin output of shaderc for these shaders.
30 lines
637 B
Python
30 lines
637 B
Python
$input a_position, a_texcoord0
|
|
$output v_dir
|
|
|
|
/*
|
|
* Copyright 2014-2016 Dario Manesku. All rights reserved.
|
|
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
|
|
*/
|
|
|
|
#include "../common/common.sh"
|
|
#include "uniforms.sh"
|
|
|
|
uniform mat4 u_mtx;
|
|
|
|
void main()
|
|
{
|
|
gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0) );
|
|
|
|
float fov = radians(45.0);
|
|
float height = tan(fov*0.5);
|
|
float aspect = height*(u_viewRect.z / u_viewRect.w);
|
|
vec2 tex = (2.0*a_texcoord0-1.0) * vec2(aspect, height);
|
|
|
|
mat4 mtx;
|
|
mtx[0] = u_mtx0;
|
|
mtx[1] = u_mtx1;
|
|
mtx[2] = u_mtx2;
|
|
mtx[3] = u_mtx3;
|
|
v_dir = instMul(mtx, vec4(tex, 1.0, 0.0) ).xyz;
|
|
}
|