Fixed reverse-texture rendering by flipping the camera "handedness"
This commit is contained in:
parent
402ef29734
commit
04c31686ec
@ -9,7 +9,7 @@
|
||||
MyBuiltinCubeScene::MyBuiltinCubeScene(Application& application)
|
||||
: Scene(application),
|
||||
m_shape(meshgenerator::gen_cube_p<basic::Vertex, basic::Index>(DRAW_TRIANGLES, 2.0f, 2.0f, 2.0f), DrawMode::DRAW_TRIANGLES),
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, -5.0f)),
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, 5.0f)),
|
||||
m_batch(&m_shape, 2)
|
||||
{
|
||||
m_pipeline.add_batch(&m_batch);
|
||||
|
@ -22,7 +22,7 @@ MyBuiltinTexturedScene::MyBuiltinTexturedScene(Application& application)
|
||||
TextureFactory::gen_image_texture(m_sprite_image),
|
||||
texturegenerator::gen_quick_sampler()
|
||||
),
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, -5.0f)),
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, 5.0f), vec3(0.0f, 0.0f, -1.0f)),
|
||||
m_cube_batch(&m_cube, 2),
|
||||
m_sprite_batch(&m_sprite, 1)
|
||||
{
|
||||
|
@ -18,7 +18,7 @@ MySimple3DScene::MySimple3DScene(Application& application)
|
||||
MySimpleShaderProgram::Vertex(2.0f, -1.0f, 0.0f)
|
||||
), DrawMode::DRAW_TRIANGLES),
|
||||
m_batch(&m_shape, 2),
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, -5.0f))
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, 5.0f))
|
||||
{}
|
||||
|
||||
MySimple3DScene::~MySimple3DScene()
|
||||
|
@ -18,7 +18,7 @@ MySimpleCubeScene::MySimpleCubeScene(Application& application)
|
||||
MySimpleShaderProgram::Vertex( 1.0f, -1.0f, 1.0f)
|
||||
), DrawMode::DRAW_TRIANGLES),
|
||||
m_batch(&m_shape, 1),
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, -5.0f))
|
||||
m_camera((float)TAU_1_4, (float)m_screen_size.x / m_screen_size.y, 1.0f, 10.0f, vec3(0.0f, 0.0f, 5.0f))
|
||||
{}
|
||||
|
||||
MySimpleCubeScene::~MySimpleCubeScene()
|
||||
|
@ -17,7 +17,7 @@ namespace charcoal
|
||||
float znear,
|
||||
float zfar,
|
||||
const vec3& position,
|
||||
const vec3& forward = vec3(0.0f, 0.0f, 1.0f),
|
||||
const vec3& forward = vec3(0.0f, 0.0f, -1.0f),
|
||||
const vec3& up = vec3(0.0f, 1.0f, 0.0f),
|
||||
const vec3& right = vec3(0.0f) // Zero for auto-calculated
|
||||
);
|
||||
@ -27,7 +27,7 @@ namespace charcoal
|
||||
// Updates the orientation based on three vectors.
|
||||
// If right is equal to zero it is calculated with glm::cross(forward, up).
|
||||
// Then the true up is calculated with glm::cross(right, forward)
|
||||
void update_orientation(const vec3& forward = vec3(0.0f, 0.0f, 1.0f), const vec3& up = vec3(0.0f, 1.0f, 0.0f), const vec3& right = vec3(0.0f));
|
||||
void update_orientation(const vec3& forward = vec3(0.0f, 0.0f, -1.0f), const vec3& up = vec3(0.0f, 1.0f, 0.0f), const vec3& right = vec3(0.0f));
|
||||
// Directly sets the forward, up, and right values.
|
||||
void direct_update_orientation(const vec3& forward, const vec3& up, const vec3& right);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user