clipping planes for camera

This commit is contained in:
2020-01-28 08:01:34 +07:00
parent bd085efa3a
commit 8f0fac1750
20 changed files with 297 additions and 159 deletions

View File

@@ -4,7 +4,10 @@
"renderer" : {
"materials" : [
"../models/gnome/gnome_material.json"
]
],
"transform" : {
"translation" : [0,0,5]
}
},
"model_renderer" : {
"model" : "../models/gnome/gnome_model.json"

View File

@@ -9,12 +9,15 @@ local camera = {
---@type integer
depth = 0,
---@type number
znear = 0.0,
---@type number
zfar = 1000.0,
---@type rect
viewport = rect.zero(),
---@type m4f
projection = m4f.identity(),
---@type color
background = color.white()
}

View File

@@ -53,26 +53,50 @@ function m4f.make_look_at_rh(eye, at, up) end
---@overload fun(width: number, height: number, znear: number, zfar: number): m4f
---@overload fun(size: v2f, znear: number, zfar: number): m4f
---@return m4f
function m4f.make_orthogonal_lh(...) end
function m4f.make_orthographic_lh_zo(...) end
---@overload fun(width: number, height: number, znear: number, zfar: number): m4f
---@overload fun(size: v2f, znear: number, zfar: number): m4f
---@return m4f
function m4f.make_orthogonal_rh(...) end
function m4f.make_orthographic_lh_no(...) end
---@overload fun(width: number, height: number, znear: number, zfar: number): m4f
---@overload fun(size: v2f, znear: number, zfar: number): m4f
---@return m4f
function m4f.make_orthographic_rh_zo(...) end
---@overload fun(width: number, height: number, znear: number, zfar: number): m4f
---@overload fun(size: v2f, znear: number, zfar: number): m4f
---@return m4f
function m4f.make_orthographic_rh_no(...) end
---@param angle number
---@param aspect number
---@param znear number
---@param zfar number
---@return m4f
function m4f.make_perspective_lh(angle, aspect, znear, zfar) end
function m4f.make_perspective_lh_zo(angle, aspect, znear, zfar) end
---@param angle number
---@param aspect number
---@param znear number
---@param zfar number
---@return m4f
function m4f.make_perspective_rh(angle, aspect, znear, zfar) end
function m4f.make_perspective_lh_no(angle, aspect, znear, zfar) end
---@param angle number
---@param aspect number
---@param znear number
---@param zfar number
---@return m4f
function m4f.make_perspective_rh_zo(angle, aspect, znear, zfar) end
---@param angle number
---@param aspect number
---@param znear number
---@param zfar number
---@return m4f
function m4f.make_perspective_rh_no(angle, aspect, znear, zfar) end
---@param l m4f
---@param r m4f