timer1

Fullscreen mode

Just press »F« on your keyboard to show your presentation in fullscreen mode. Press the »ESC« key to exit fullscreen mode.

Overview mode

Press "Esc" or "o" keys to toggle the overview mode on and off. While you're in this mode, you can still navigate between slides, as if you were at 1,000 feet above your presentation.


OpenGL


Lesson 3

Author: Egoshkin Danila Igorevich

GLM

GLM - OpenGL Mathematics


#include <.../glm/glm.hpp>
#include <.../glm/gtc/type_ptr.hpp>

using namespace glm;

void foo(){
	vec4 v(0.0f);
	mat4 m(1.0f);
	...
	glVertex3fv(value_ptr(v));
	glLoadMatrixfv(value_ptr(m));
}                        

#include <.../glm/glm.hpp>
#include <.../glm/gtc/matrix_transform.hpp>

void foo(){
	glm::vec4 Position = glm::vec4(glm:: vec3(0.0f), 1.0f);
	glm::mat4 Model = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f));
	Model = glm::rotate(Model, 45.0f, glm::vec3(1.0f, 1.0f, 1.0f));
	glm::vec4 Transformed = Model * Position;
}                

Camera

Camera Free&Target (trajectory)

Camera - three types of camera

1. Camera Target (trajectory) - Third Person Perspectives
2. Camera Target (trajectory) - Second Person Perspectives!? 0_0
3. Camera Free - First Person Perspectives

Camera Target (trajectory) - Third Person Perspectives

Camera Target (trajectory) - Tomb Raider 1996

Camera Target (trajectory) - Colin McRae Rally 1998

Camera Target (trajectory) - 3DChess

Camera Target (trajectory) - HoMM5 2006

Camera Target (trajectory) - Ori And The Blind Forest 2015

Camera Target (trajectory) - Second Person Perspectives!? 0_0

https://www.youtube.com/watch?v=mC8QoRa8y_Q

Not only Camera Target (trajectory)

Not only Camera Target (trajectory)

Camera Free - First Person Perspectives

Camera Free - MineCraft 2009

Camera Free

Camera Free

Camera - Math - Matrix

  1. Local space (or Object space) ()
  2. World space (Model Matrix)
  3. View space (or Eye space) (View Matrix)
  4. Clip space
  5. Screen space

Camera - Math - Perspective - with - Art and Composition

Book - Nikolai Li

Risunok. Osnovy uchebnogo akademicheskogo risunka

Camera - FOV

Camera - FOV

Camera - FOV - Glass

Camera - FOV - FishEye

First known fisheye image - Wood's shot taken from a bucket of water. 1905 year

Camera - FOV

Lenses by focal length - фокус камери

Camera - FOV

Lenses by focal length - фокус камери

Camera - FOV - Predator vs Prey

Foreign Planet

Camera - FOV - Predator vs Prey

Camera - FOV - Predator vs Prey

Camera - FOV - Bugs

https://jsantell.com/model-view-projection/
OOP Theory
virtual class, interface, abstract class

// An abstract class 
class Test 
{    
    // Data members of class 
public: 
    // Pure Virtual Function 
    virtual void show() = 0; 
    
   /* Other members */
}; 
                        
A pure virtual function (or abstract function) in C++ is a virtual function for which we don’t have implementation, we only declare it. A pure virtual function is declared by assigning 0 in declaration.
*But why class Test - is an abstract class? (P.S. // Data members of class )

virtual class = interface

virtual class = interface - the class is purely a definition, and has no actual implementation

class Test
{
public:
    // Pure Virtual Function 
    virtual void show() = 0; 
    virtual bool openFile(const char *filename) = 0;
    virtual bool closeFile() = 0;
 
    virtual ~Test() {} // make a virtual destructor in case we delete an IErrorLog pointer, so the proper derived destructor is called
};
                        

abstract class


class Test
{
    string text = "Hello" 
public: 
    virtual void show(){
        printf("%s", text.c_str());
    }; 
    virtual bool openFile(const char *filename) = 0;

    virtual ~Test() {} // make a virtual destructor in case we delete an IErrorLog pointer, so the proper derived destructor is called
};
  1. abstract classes may contain state (data members) and/or implementation (methods)
  2. abstract classes can be inherited without implementing the abstract methods (though such a derived class is abstract itself)

Controller - Device


E:\Learn It\GAMES-Programming\Engine\MyEngine\CORE_SimpleCore

Camera - Methods

Bullet time

Bullet time

Dutch angle - Голландский кут - Голландский угол

Dutch angle

Dutch angle

Dutch angle

Dutch angle

Dutch angle

Dutch angle

Dutch angle

https://www.film.ru/articles/kinoslovar-speceffekty
https://eycndy.com/dutch-angle
https://youtu.be/R9FUEScjB1U

Thanks for your attention :)