mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Implement CAMERA_VISIBLE_LAYERS as built-in shader variable
This commit is contained in:
parent
015dc492de
commit
1b09fd5410
16 changed files with 40 additions and 10 deletions
|
@ -1321,6 +1321,7 @@ void RasterizerSceneGLES3::_setup_environment(const RenderDataGLES3 *p_render_da
|
|||
GLES3::MaterialStorage::store_camera(projection.inverse(), scene_state.ubo.inv_projection_matrix);
|
||||
GLES3::MaterialStorage::store_transform(p_render_data->cam_transform, scene_state.ubo.inv_view_matrix);
|
||||
GLES3::MaterialStorage::store_transform(p_render_data->inv_cam_transform, scene_state.ubo.view_matrix);
|
||||
scene_state.ubo.camera_visible_layers = p_render_data->camera_visible_layers;
|
||||
|
||||
if (p_render_data->view_count > 1) {
|
||||
for (uint32_t v = 0; v < p_render_data->view_count; v++) {
|
||||
|
@ -1705,6 +1706,7 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
|
|||
render_data.inv_cam_transform = render_data.cam_transform.affine_inverse();
|
||||
render_data.cam_projection = p_camera_data->main_projection;
|
||||
render_data.cam_orthogonal = p_camera_data->is_orthogonal;
|
||||
render_data.camera_visible_layers = p_camera_data->visible_layers;
|
||||
|
||||
render_data.view_count = p_camera_data->view_count;
|
||||
for (uint32_t v = 0; v < p_camera_data->view_count; v++) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue