Engine
Media
Community
About
Bien commencer :

Dans ce tutoriel, nous allons apprendre à initialiser le Device de DirectX 11

I) Vocabulaire

1) Qu'est ce que le Device ?

Le Device est l'objet qui vous permettra de communiquer avec la carte graphique, c'est à lui que vous donnerez des données et des ordres pour dessiner ce que vous voulez à l'écran.

2) Initialiser ?

Avant de pouvoir utiliser le device il va falloir le créer en lui fournissant diverses informations essentielles à son fonctionnement, c'est ce que j'appelle l'initialisation.

II) Construction des fondations

1) Explication

Nous allons architecturer notre code de manière à correspondre à un debut de moteur 3d, c'est à dire que notre code sera de base séparé en 2: coté moteur et coté utilisateur.

Coté moteur notre code sera partagé dans des classes séparées pour chaque fonctionnalité. Coté utilisateurs toutes les étapes essentielles seront séparées dans des fonctions.

2) En détail: Coté moteur

Commençont par créer un nouvelle classes: Menu Projet/Ajouter une classe... et nommé là: Engine.vb
A l'intérieur nous devons d'abort importer SlimDX:

Puis que la classe engine contiendra le Device alors elle doit être utilisable pour les autres classes du moteur. Pour ce faire nous allons la définir comme une classe Singleton:

De plus, pour éviter tout problème de fuite mémoire nous implémentons l'interface IDisposable:

C'est tout pour la partie Moteur.

3) En détail: Coté Utilisateur

Dans notre formulaire nous allons ajouter 4 procedures afin de bien séparer les étapes essentielles au fonctionnement de l'application:

Initialize: initialisation des classes du moteur,
Creating: création des objets 2d/3d,
Rendering: rendu de la scène,
Leaving: destruction des composants

III) Initialisation

Afin d'initialiser le device nous allons déclarer plusieurs variables dans la classe Engine. Tout le nécessaire à la gestion du multi-fenetrage sera également inclue.

mDev: Est notre device
mWindows: Est une liste contenant tout le nécessaire à la gestion de differente fenêtre de rendu, dans different Control par exemple.
mContext: Raccourci vers le context immediat du device, servant à envoyer les données et instructions de rendu

Vient maintenant le code d'initialisation:

C'est tout pour la partie initialisation, il ne manque plus que quelques fonctions permettant la création de la boucle de rendu.

(en cours de rédaction)

Social media:

Copyright Tzu3D 2015-2023