Le projet ORV_64, montre l'utilisation d'ORDLL64.dll,
pour intégrer une version simplifiée du moteur 3D OpenGL ObjReader (OR), dans une application VS2022.
Les fonctions sont limitées au rendu de meshes au format wavefront.obj.
L'application utilise des fichiers .mtl spécifiques qui permettent d'animer les meshes et l'éclairage en fonction du tempo d'une musique.
La qualité du rendu est exceptionnelle en particulier sur des modèles conçus spécifiquement pour OR (ObjReader).
Tous les modèles ont été créés ou retravaillés avec Maxon C4D R21.
Compte tenu de la taille limitée des pièces jointes autorisées sur ce forum (2 Mo)
Vous devez d'abord télécharger et décompresser le projet ORV_64.7z.
Ensuite décompresser chaque fichier 3D_fichier.7z en tant que sous-dossier du dossier
ORV_64\Release\3D_models
Au lancement de l'application, les fichiers 3D peuvent être sélectionnés à partir de la combo.
Lors du démarrage Welcome est automatiquement sélectionné.
Vous pouvez également utiliser le tirer déplacer depuis l'explorateur pour afficher un fichier.obj spécifique.
Vous trouverez sur mon Portfolio Adobe Behance
une sélection de modèles créés spécialement pour OR, certains comportent une vidéo que vous pouvez visionner en mode plein écran.
Chaque modèle représente un nombre d'heures de travail considérable.
Ils sont disponibles en téléchargement sur mon forum privé www.objreader.com.
Afin de voir et télécharger les pièces jointes, vous devez vous enregistrer au préalable.
ORDLL64 constants
API list
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #define NVIDIA 1 #define ATI 2 #define INTEL 3 #define ALPHA 1 #define DEMO 2 #define PLAYAUDIO 3 #define SYNCAUDIO 4 #define ANIMATION 5 #define FPS 6 #define TURBO 7 #define NOSYNC 8 #define LOADED 9991 #define ENABLED 9992 #define CHECKED 9993 #define AUDIO_VOL 9994 #define LOADING 9995 #define TIMER 9996 #define FOCUS 9997
OR_CreateWindow(IN DWORD dwExStyle, IN HWND hParent, IN DWORD dwStyle, IN long x, IN long y, IN long w, IN long h, IN HMENU CtrlID);
Create the OR OpenGL window, could be either a child or a popup window (WS_EX_TOOLWINDOW).
OR_DetectGPU();
Detect between NVIDIA, ATI, INTEL.
OR_GPUinfo();
Return an unicode string about the GPU being used.
OR_About();
Return an unicode string about the model being displayed.
OR_ViewReset();
Restore the model size and location to its default state.
OR_GetAudioVolume();
Return the audio volume setting.
OR_SetAudioVolume(IN long nVolume);
(Bass.dll) adjust the audio level.
OR_ProcessCommandLine(IN WCHAR* lpCmdLine);
Select a specific .obj file or a model folder, using a full qualified path.
OR_Vertices();
Return the number of vertices used by the model.
OR_Triangles();
Return the number of triangles used by the model.
OR_Indices();
Return the number of indices used by the model.
OR_Meshes();
Return the number of meshes used by the model.
OR_Materials();
Return the number of materials used by the model.
OR_ObjSize();
Return the size of the .obj file.
OR_LoadTime();
Return the ellapsed time to load the model in memory.
OR_Version();
Return the DLL version number.
OR_TimerEnable(IN BOOL enable);
Set to TRUE, if you want to use the OR sync timer (see the marquee text in the ORV64 demo project)
OR_SetSwapInterval(IN BOOL bUseInterval);
This is an advanced API
bUseInterval = 1 (Turbo mode, that is the default)
bUseInterval = 2 (Standard mode)
bUseInterval = 0 (no wait state, maximum GPU speed, requires the use of a GPU cooler fan)
OR_ObjFileName();
Return an unicode string with the name of the active .obj file.
OR_GPU();
Return the GPU memory percentage used by the application.
OR_CPU();
Return the CPU memory percentage used by the application.
OR_GetAniTick();
Return the last tick used by the OR sync timer.
Crédits :
BASS.dll, par Ian Luck (www.un4seen.com)
ORDLL64.dll, par Patrice Terrier & Michael Lobko-Lobanovsky (www.objreader.com)
GDImage64.dll, par Patrice Terrier (www.zapsolution.com)
WinLIFT64.dll, par Patrice Terrier (www.zapsolution.com)
Note : Il ne sert à rien de télécharger les modèles 3D si vous n'avez pas téléchargé au préalable ORV_64.7z
car tous les fichiers .mtl sont configurés pour fonctionner avec le shader spécifique intégré dans ORDLL64.dll
Partager