mirror of
https://github.com/Relintai/sfw.git
synced 2025-04-14 09:10:47 +02:00
Added Renderer::camera_3d_camera_transform_matrix_stack_clear() and Renderer::get_camera_3d_model_view_matrix_stack_clear() helper methods.
This commit is contained in:
parent
c382024f95
commit
a7590426eb
@ -5,13 +5,13 @@
|
|||||||
#include "render_core/color_material.h"
|
#include "render_core/color_material.h"
|
||||||
#include "render_core/color_material_2d.h"
|
#include "render_core/color_material_2d.h"
|
||||||
#include "render_core/colored_material.h"
|
#include "render_core/colored_material.h"
|
||||||
|
#include "render_core/colored_texture_material_2d.h"
|
||||||
#include "render_core/font.h"
|
#include "render_core/font.h"
|
||||||
#include "render_core/font_material.h"
|
#include "render_core/font_material.h"
|
||||||
#include "render_core/material.h"
|
#include "render_core/material.h"
|
||||||
#include "render_core/mesh.h"
|
#include "render_core/mesh.h"
|
||||||
#include "render_core/texture.h"
|
#include "render_core/texture.h"
|
||||||
#include "render_core/texture_material.h"
|
#include "render_core/texture_material.h"
|
||||||
#include "render_core/colored_texture_material_2d.h"
|
|
||||||
|
|
||||||
#include "render_core/render_state.h"
|
#include "render_core/render_state.h"
|
||||||
//--STRIP
|
//--STRIP
|
||||||
@ -369,7 +369,6 @@ void Renderer::draw_mesh_3d_textured(const Ref<Mesh> &p_mesh, const Ref<Texture>
|
|||||||
camera_3d_pop_model_view_matrix();
|
camera_3d_pop_model_view_matrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Renderer::camera_2d_bind() {
|
void Renderer::camera_2d_bind() {
|
||||||
RenderState::model_view_matrix_2d = _camera_2d_model_view_matrix;
|
RenderState::model_view_matrix_2d = _camera_2d_model_view_matrix;
|
||||||
RenderState::projection_matrix_2d = _camera_2d_projection_matrix;
|
RenderState::projection_matrix_2d = _camera_2d_projection_matrix;
|
||||||
@ -535,6 +534,11 @@ void Renderer::camera_3d_pop_camera_transform_matrix() {
|
|||||||
int Renderer::get_camera_3d_camera_transform_matrix_stack_size() const {
|
int Renderer::get_camera_3d_camera_transform_matrix_stack_size() const {
|
||||||
return _camera_3d_camera_transform_matrix_stack.size();
|
return _camera_3d_camera_transform_matrix_stack.size();
|
||||||
}
|
}
|
||||||
|
void Renderer::camera_3d_camera_transform_matrix_stack_clear() {
|
||||||
|
_camera_3d_camera_transform_matrix_stack.clear();
|
||||||
|
_camera_3d_camera_transform_matrix = Transform();
|
||||||
|
RenderState::camera_transform_3d = _camera_3d_camera_transform_matrix;
|
||||||
|
}
|
||||||
|
|
||||||
Transform Renderer::camera_3d_get_current_model_view_matrix() const {
|
Transform Renderer::camera_3d_get_current_model_view_matrix() const {
|
||||||
return _camera_3d_model_view_matrix;
|
return _camera_3d_model_view_matrix;
|
||||||
@ -560,6 +564,12 @@ void Renderer::camera_3d_pop_model_view_matrix() {
|
|||||||
int Renderer::get_camera_3d_model_view_matrix_stack_size() const {
|
int Renderer::get_camera_3d_model_view_matrix_stack_size() const {
|
||||||
return _camera_3d_model_view_matrix_stack.size();
|
return _camera_3d_model_view_matrix_stack.size();
|
||||||
}
|
}
|
||||||
|
void Renderer::get_camera_3d_model_view_matrix_stack_clear() {
|
||||||
|
_camera_3d_model_view_matrix_stack.clear();
|
||||||
|
_camera_3d_model_view_matrix = Transform();
|
||||||
|
|
||||||
|
RenderState::model_view_matrix_3d = _camera_3d_model_view_matrix;
|
||||||
|
}
|
||||||
|
|
||||||
// Aspect Ratio = w / h
|
// Aspect Ratio = w / h
|
||||||
void Renderer::camera_3d_projection_set_to_orthographic(float aspect_ratio, float size, float znear, float zfar, bool vaspect) {
|
void Renderer::camera_3d_projection_set_to_orthographic(float aspect_ratio, float size, float znear, float zfar, bool vaspect) {
|
||||||
@ -722,7 +732,6 @@ Point2 Renderer::camera_3d_unproject_position(const Vector3 &p_pos) const {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Vector3 Renderer::camera_3d_project_position(const Point2 &p_point, float p_z_depth) const {
|
Vector3 Renderer::camera_3d_project_position(const Point2 &p_point, float p_z_depth) const {
|
||||||
if (p_z_depth == 0) {
|
if (p_z_depth == 0) {
|
||||||
return _camera_3d_camera_transform_matrix.origin;
|
return _camera_3d_camera_transform_matrix.origin;
|
||||||
@ -750,7 +759,6 @@ Vector3 Renderer::camera_3d_project_position(const Point2 &p_point, float p_z_de
|
|||||||
return _camera_3d_camera_transform_matrix.xform(p);
|
return _camera_3d_camera_transform_matrix.xform(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Renderer::clear_screen(const Color &p_color) {
|
void Renderer::clear_screen(const Color &p_color) {
|
||||||
glClearColor(p_color.r, p_color.g, p_color.b, p_color.a);
|
glClearColor(p_color.r, p_color.g, p_color.b, p_color.a);
|
||||||
|
|
||||||
|
@ -98,11 +98,13 @@ public:
|
|||||||
void camera_3d_push_camera_transform_matrix(const Transform &p_transform);
|
void camera_3d_push_camera_transform_matrix(const Transform &p_transform);
|
||||||
void camera_3d_pop_camera_transform_matrix();
|
void camera_3d_pop_camera_transform_matrix();
|
||||||
int get_camera_3d_camera_transform_matrix_stack_size() const;
|
int get_camera_3d_camera_transform_matrix_stack_size() const;
|
||||||
|
void camera_3d_camera_transform_matrix_stack_clear();
|
||||||
|
|
||||||
Transform camera_3d_get_current_model_view_matrix() const;
|
Transform camera_3d_get_current_model_view_matrix() const;
|
||||||
void camera_3d_push_model_view_matrix(const Transform &p_transform);
|
void camera_3d_push_model_view_matrix(const Transform &p_transform);
|
||||||
void camera_3d_pop_model_view_matrix();
|
void camera_3d_pop_model_view_matrix();
|
||||||
int get_camera_3d_model_view_matrix_stack_size() const;
|
int get_camera_3d_model_view_matrix_stack_size() const;
|
||||||
|
void get_camera_3d_model_view_matrix_stack_clear();
|
||||||
|
|
||||||
// Aspect Ratio = w / h
|
// Aspect Ratio = w / h
|
||||||
void camera_3d_projection_set_to_orthographic(float aspect_ratio, float size = 1.0, float znear = 0.05, float zfar = 100, bool vaspect = false);
|
void camera_3d_projection_set_to_orthographic(float aspect_ratio, float size = 1.0, float znear = 0.05, float zfar = 100, bool vaspect = false);
|
||||||
|
Loading…
Reference in New Issue
Block a user