Skip to content

carlosmax3D/FullDemoTemplateOGL

Repository files navigation

FullDemoTemplateOGL

Este demo contiene lo necesario para hacer una aplicacion usando OpenGL, contiene librerias para el uso de las extensiones de GL, librerias para soporte de imagenes y una implementacion primitiva para deteccion de colisiones. Este proyecto intenta implementar los conceptos de POO para facilitar el uso de OpenGL.

Entre los archivos mas destacados se tienen:

File Dependency Contains
Utilities.h N/A namespace LOGGER (class LOG, class LOGS),Struct Ejes, SCR_WIDTH, SCR_HEIGHT, struct GameActions, Struct Vertex, Struct Texture, s2ws, loadFile, TextureFromFile, namespace UTILITIES_OGL (Struct ImageDetails, Struct Vertices, Struct Maya, sumaNormal, normaliza, vectoresEsfera, Esfera, Plano, genNormal)
KeyboardInput.h Utilities.h Class MouseInput, Struct Input (enum Keys), KEYS, KeysEvents, Init)
GamePadRR.h N/A class GamePadRR
material.h N/A zeroVec3, Struct Material, Struct Light
shader.h Utilities.h, material.h class Shader
KDTree.h N/A class Node, class KDTree
CollitionDetection.h KDTree.h SolveEquision, checkCollision, print_queue, findCollision
mesh.h Utilities.h, material.h, shader.h, KDTree.h class Mesh
camera.h Utilities.h enum Camera_Movement, class Camera
Model.h Logger.h,Utilities.h, material.h, shader.h, mesh.h, camera.h, KDTree.h, CollitionDetection.h class Model
Billboard.h Model.h, Utilities.h, camera.h, shader.h class Billboard extends of Model
SkyDome.h Utilities.h, Model.h, camera.h, shader.h class SkyDome extends of Model
Terreno.h Utilities.h, Model.h, camera.h, shader.h class Terreno extends of Model
Scene.h camera.h, Model.h, SkyDome.h, Terreno.h, Billboard.h class Scene
Scenario.h Scene.h class Scenario

Esta plantilla esta estructurada para poder cargar modelos genericos y convencionales de forma rapida y administrada, se pueden generar escenarios individuales extendiendo o implementando la clase Scene para generar multiples niveles con modelos y diseños diferentes.

La plantilla por defecto tiene en su carpeta de binarios la libreria opengl32.dll para forzar el render por medio de Mesa en lugar de usar la grafica de la computadora, si tu grafica soporta las extensiones de OGL 2 en delante, puedes remover el archivo, si necesitas extensiones superiores de OGL te invito a modificar el archivo principal del WinMain para agregar las extensiones faltantes a tu ventana.

La plantilla tiene soporta para gamepad pero no tiene mapeo a las funciones de la plantilla, funciones con teclado ya se encuentran mapeadas:

Command Action
W,A,S,D movimiento de camera y modelo principal
SHIFT + (A,D) movimiento lateral
MouseLeftClick + MovimientoMouseX Rotacion de camara sobre personaje
MouseRightClick + MovimientoMouseT Posicion de camara sobre personaje
DownMouseWheel Zoom out Personaje
UpMouseWheel Zoom in Personaje
V + DownMouseWheel Zoom out Perspectiva
V + UpMouseWheel Zoom in Perspectiva
P Switch first person - third person

Mejoras o bugs, favor de levantar un issue.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published