/RT

RT

Primary LanguageC

Projet RT

Sujets :

RTv1
RT

Installation

  • Git clone
git clone https://github.com/Nrivoire/RT.git

ou

Sur MacOS

  • Compiler
make
  • puis lancer le projet
./rt
./rt --help -> pour voir son utilisation

Sur Linux

  • Installer la librairie SDL
sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev
  • Compiler
make
  • puis lancer le projet
./rt
./rt --help -> pour voir son utilisation

Sur Windows

  • Installer MinGW pour intégrer le compilateur gcc et la librairie de threading POSIX : Lancer l'executable mingw.exe présent dans le dossier Windows
    • Faire suivant tant que possible (ne pas changer le chemin d'installation)
    • Une fois arrivé sur la page d'installation des packages, cocher toutes les cases dans la liste presentée en séleccionnant Mark for installation
    • Puis dans le panneau latéral gauche, aller dans All packages puis MinGW et enfin MinGW Base System
      • Aller dans MinGW Compiler Suite puis dans la liste des packages, cocher toutes les lignes dont la description contient C Compiler
      • Aller dans MinGW Standard Librairies puis cocher toutes les lignes dont la description contient POSIX
    • Cliquer sur Installation en haut à gauche de la fenetre puis sur Update Catalogue
    • Cliquer ensuite sur Review changes puis Apply
  • Installer Cygwin pour intégrer la gestion des Makefiles : Lancer l'exécutable cygwin-x86_64.exe pour un processeur 64 bits et cygwin-x86.exe le cas échéant, tous deux présents dans le dossier Windows (Dans le doute, prendre le premier)
    • Choisir C:\cygwin comme chemin d'installation
    • Faire suivant jusqu'à arriver sur la page Select packages (si une liste de sites bloque l'avancée avant, choisir le premier puis cliquer sur suivant)
      • Dans la case View, choisir Full
      • Rechercher make
      • Installer la ligne qui contient le package make et la Categorie Devel (en double-cliquant)
        • Choisir la version la plus recente
    • Continuer à faire suivant jusqu'à la fin de l'installation
  • Ajouter les variables d'environnement
    • Rechercher les variables d'environnement du PC (Taper variables dans la barre de recherche de la barre des tâches)
    • Cliquer sur Variables d'environnement
    • Dans Variables système, séleccionner la ligne PATH, puis cliquer sur Modifier
      • Cliquer sur Nouveau puis coller la ligne suivante pour intégrer les variables d'environnement de MinGW : C:\MinGW\bin
      • Faire la même chose pour Cygwin en rajoutant C:\cygwin\bin
    • Fermer toutes les fenêtres en cliquant sur Ok
  • Lancer le terminal cmd ou Windows PowerShell dans le dossier RT-master (suivant comment vous avez nommé le dossier du projet)
    • Rien ne doit être sélectionné dans le dossier puis aller dans Fichier puis Windows PowerShell
  • Copier les fichiers DLL indispensables au lancement de la SDL et du projet
cp -r SDL\SDL2*\i686-w64-mingw32\bin\*.dll C:\MinGW\bin
  • Pour prendre en compte les derniers changements, taper exit puis rouvrir l'invite de commandes de la même manière que précédemment
  • Compiler
make
  • puis lancer le projet
.\rt.exe

Utilisation des scenes

  • Format d'utilisation et de création d'un fichier de configuation/scene.
[BLOCK]{
'tabulation'[variable]= [données]
}

BLOCK = [scene / camera / light / object]

Scene

'	ambient-light= {red [0-1 float], green [0-1 float], blue [0-1 float]}'
'	width= [100-1280 int]'
'	height= [100-720 int]'
'	filter= [greyscale / sepia / negative / cel-shading]'

Camera

'	pos= {x [float], y [float], z [float]}'
'	dir= {angle_x [degrees float], angle_y [degrees float], angle_z [degrees float]}'
'	fov= [30-170 int]

Lumière

'	type= [POINT / DIRECTIONAL / SPOT]'
'	pos= {x [float], y [float], z [float]}'
'	dir= {x [float], y [float], z [float]}'
'	color= {red [0-1 float], green [0-1 float], blue [0-1 float]} ou {#......} ou {0x......}'

Objet

'	type= [SPHERE / PLANE / CONE / CYLINDER]
'	radius= [float]'
'	pos= {x [float], y [float], z [float]}'
'	dir= pos= {x [-1-1 float], y [-1-1 float], z [-1-1 float]}'
'	point_a= {x [float], y [float], z [float]}'
'	point_b= {x [float], y [float], z [float]}'
'	point_c= {x [float], y [float], z [float]}'
'	color= {red [0-255 float], green [0-255 float], blue [0-255 float]} ou {#......} ou {0x......}'
'	reflect= [0-1 float]'
'	refract= [0-1 float]'
'	density= [1-3 float]'
'	shininess= [0-1 float]'
'	texture= "./textures/nom_de_la_texture.png"'
'	fix= {x [float], y [float], z [float]}'
'	texture-procedural= [PERLIN / WOOD / MARBLE / WAVES / GRADIENT]

Commandes

Description  Key(s) 
Close the program (quit/exit)  esc 
Move the camera
        -> on the axe z (-z)  W 
        -> on the axe x (-x)  A 
        -> on the axe z (+z)  S 
        -> on the axe x (+x)  D 
        -> on the axe y (+y)  Q 
        -> on the axe y (-y)  E 
Rotate the camera
        -> on the angle_x (+angle_x)  I 
        -> on the angle_y (+angle_y)  J 
        -> on the angle_x (-angle_x)  K 
        -> on the angle_y (-angle_y)  L 
        -> on the angle_z (+angle_z)  U 
        -> on the angle_z (-angle_z)  O 
Move the selected object
        -> position on y (+y)  SPACE  +  W 
        -> position on x (-x)  SPACE  +  A 
        -> position on y (-y)  SPACE  +  S 
        -> position on x (+x)  SPACE  +  D 
        -> position on z (-z)  SPACE  +  Q 
        -> position on z (+z)  SPACE  +  E 
Rotate the selected object
        -> direction on x (+x)  SPACE  +  I 
        -> direction on y (+)  SPACE  +  J 
        -> direction on x (-x)  SPACE  +  K 
        -> direction on y (-angle_y)  SPACE  +  L 
        -> direction on z (+angle_z)  SPACE  +  U 
        -> direction on z (-angle_z)  SPACE  +  O 
To accelerate the object event  LSHIFT  or  RSHIFT 
Change the radius of the selected object  WHEEL 
Stretching the texture of the object  SPACE  +  ▲  or  ▼ 
Delete the selected object  SPACE  +  G  +  N 
+Plus
Change the filter  F 
Activate the supersampling  V 
Activate the blur  B 
Desactivate supersampling & blur  C 
Desactivate the BigPixel rendering  T 
Reactivate the BigPixel rendering  R 
Take a screenshot (or the right click)  P