Fichier texte en cours : Travaux effectués.txt
Depuis Lundi 24 Juillet :
- Rim Lighting
- OBJ loader
- RecaculateNormals
- Draw normals
- Geometry shader
- .Png format writing
- .BMP format loading & writing
- Screenshot
- Utilisation d'une D3D10_MAPPED_TEXTURE2D pour générer une texture à la volée
- SplashScreen
- PhongMultipleLights
- Essais de construction de modèles avec Blender
- Billboard lights
- Erase vector element inside a for loop
- Lights revolution with Rodrigues formula
- Revolution path with Vertex3DLines
+ Eliptic spline
- Loading model with a std::thread
- ThreadsWrapper class
+ gestion automatique des paramètres de la fonction thread
+ gestion d'une callback lors de la fin du thread
- Callback class
- avec passage de paramètres avec DataParameters
- récupération des données avec la callback en fonction du type requis
- IFS Model File Loader
- ReadInt(), ReadFloat(), etc...
- AABB
- AABB class
- Draw AABB for a MeshSceneNode
- AutoScale
- proportionner le scale d'une node par rapport la taille de sa AABB en fonction d'une autre node
- MeshSquare ou MeshGrid
- mesh IFS disposé en quadrillage à partir d'un centre
- Chargement aléatoire de mesh IFS depuis un repertoire
- utilisation du AutoScale et du MeshGrid
- chargement sur un seul thread avec une list de meshes prédéfinis et préconçus
- ouverture et lecture d'un repertoire en C++
- Utilisation des en-têtes précompilés
- On peut spécifier un paramètre à chaque MeshSceneNode spécifique au shader en fonction :
- Enable, Color, TextureName, etc...
- Zlib
- compression et décompression
- ZipReader
- décompression et lecture d'un fichier .zip
- chargement d'un ou plusieurs fichiers dans l'archive !
- Mouse Tooltip :
- Compréhension de D3DXVec3Unproject
- Utilisation avec MousePosition.z = 0 (origin), puis MousePosition.z = 1 (direction);
- Ray, Triangle, MousePosition for Ray compute rajoutés
- Ajout de deux objets dans la scène : un monstre et un véhicule
- Classe MouseTooltip avec composé de 5 sprites texturés en .png afin de former un rectangle de tooltip
- Création d'une classe SpriteBatch, TextSpriteBatch et TextureSpriteBatch
- Utilisation de D3DX10_IMAGE_LOAD_INFO pour configurer le chargement d'une ID3D10ShaderResourceView*
(ne marche pas pour certaines valeurs !)
- Construction du tooltip par des SetSize et des SetPosition()
en fonction des tailles et positions des autres coins et du texte de description !!
- Glass :
- Mise en place du constructeur de recopie par une MeshSceneNode
- Shader de glass avec displacement map
- Simple Water :
- MeshSceneNode::PushCustomShaderParameter
- Normal map done
- Moving waves
- Terrain Scene Node :
-
- Advanced Water :
- refraction & reflection maps
- Clip plane avec SV_ClipDistance et output.clip = dot(mul(input.Pos, World), ClipPlane);
- All types of lights :
--------------
Bugs rencontrés et résolus :
- calcul et centrage de la hauteur de spline (revoir la formule de Rodrigues)
- utiliser std::map.at(...) pour un accès const au lieu de std::map[i]
- les vertex peuvent être en trop faible nombre face aux données des faces,
il faut alors compenser en les rajoutant !
- ne pas hésiter à utiliser CMake
- ne pas hésiter à afficher les droites des bounding boxes !
- avant la transformation du ray par View^-1, il faut penser à convertir les données
de la souris avec la matrice Projection !
mousePosition.x = xPos / matProj->_11;
mousePosition.y = -yPos / matProj->_22;
- on ne peut pas mapper une variable ShaderRessourecView directement !
il faut la récréer avec une Texture2D et la recharger
--------------
A chaque fois il faut revoir les fichiers sources les plus récents pour voir la différence, puis mettre à jour !!
-------------
Ajouts :
- CSPNeedToRefresh() & SetCSPNoNeedToRefresh()
- Voir Ray Box intersection sur google
- Voir les différentes valeurs possibles de D3D10_USAGE