You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Allow using custom Rect2i for rendering with OpenXR
This commit is contained in:
@@ -2250,7 +2250,12 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
|
||||
RenderDataGLES3 render_data;
|
||||
{
|
||||
render_data.render_buffers = rb;
|
||||
render_data.transparent_bg = rt ? rt->is_transparent : false;
|
||||
|
||||
if (rt) {
|
||||
render_data.transparent_bg = rt->is_transparent;
|
||||
render_data.render_region = rt->render_region;
|
||||
}
|
||||
|
||||
// Our first camera is used by default
|
||||
render_data.cam_transform = p_camera_data->main_transform;
|
||||
render_data.inv_cam_transform = render_data.cam_transform.affine_inverse();
|
||||
@@ -2487,6 +2492,10 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
|
||||
RENDER_TIMESTAMP("Depth Prepass");
|
||||
//pre z pass
|
||||
|
||||
if (render_data.render_region != Rect2i()) {
|
||||
glViewport(render_data.render_region.position.x, render_data.render_region.position.y, render_data.render_region.size.width, render_data.render_region.size.height);
|
||||
}
|
||||
|
||||
scene_state.enable_gl_depth_test(true);
|
||||
scene_state.enable_gl_depth_draw(true);
|
||||
scene_state.enable_gl_blend(false);
|
||||
@@ -2562,6 +2571,10 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
|
||||
RENDER_TIMESTAMP("Render Opaque Pass");
|
||||
uint64_t spec_constant_base_flags = 0;
|
||||
|
||||
if (render_data.render_region != Rect2i()) {
|
||||
glViewport(render_data.render_region.position.x, render_data.render_region.position.y, render_data.render_region.size.width, render_data.render_region.size.height);
|
||||
}
|
||||
|
||||
{
|
||||
// Specialization Constants that apply for entire rendering pass.
|
||||
if (render_data.directional_light_count == 0) {
|
||||
|
||||
Reference in New Issue
Block a user