Dreamotion3D
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Merci pour les compliment, en tous les cas tu n'est donc pad a ton
coups d'essais en 3D, vue que tu connais DBPro, donc pour toi l'apprentissage de
Dreamotion3D devrait se faire en dousseur...
PS: a titre d'info, quel sont les élément de ta config, (surtout CPU+carte video),
je coche sur ma tablette les config ou cela été essayé et ou cela semble tourner sans réel soucis...
coups d'essais en 3D, vue que tu connais DBPro, donc pour toi l'apprentissage de
Dreamotion3D devrait se faire en dousseur...

PS: a titre d'info, quel sont les élément de ta config, (surtout CPU+carte video),
je coche sur ma tablette les config ou cela été essayé et ou cela semble tourner sans réel soucis...

-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
En t'inscrivant, j'activerais un compte 'beta testeur', qui te donnera accès
a l'autre partie du forum (in french).
a l'autre partie du forum (in french).
Dernière modification par tmyke le ven. 05/janv./2007 17:16, modifié 1 fois.
Force et sagesse...
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
Salut,
Je voulais savoir, comment je pouvez facilement jouez entre un rendu normal et un rendu fillaire ?
J'utilise donc :
Pour mettre en "fillaire" (je sais pas comment ça s'appel mdr)
Mais pour l'enlever j'utilise quoi ?
Merci d'avance pour votre réponse.
Je voulais savoir, comment je pouvez facilement jouez entre un rendu normal et un rendu fillaire ?
J'utilise donc :
Code : Tout sélectionner
DM_BrushAddRender(*bb, #D3DRS_FILLMODE, #D3DFILL_WIREFRAME )
Mais pour l'enlever j'utilise quoi ?
Merci d'avance pour votre réponse.
Essaye :
pour switcher entre les deux.
Code : Tout sélectionner
DM_BrushAddRender(*bb, #D3DRS_FILLMODE, #D3DFILL_SOLID )
-
- Messages : 1202
- Inscription : sam. 31/déc./2005 23:52
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
Tout d'abord, sache qu'il existe une fonction
Sont role est identiques, mais elle applqiue les commutateurs a l'entité dans sont ensemble,
et pas seulement à une Brush en particulier.
Il existe 3 grandes fonctions pour les changement d'état des divers
éléments constitutif de DirectX:
SetRenderState(), SetSamplerState(), SetTextureStageState()
SetRenderState() permet d'agir sur le traitement des pixel et des vertex par
le pipeline de rendu, comme par exemple le BlendMode, AlphaRef, ou FillMode.
SetSamplerState() permet d'agir sur les opérations de traitement généraux lié
aux textures, comme les filtres ou le type d'adressage.
SetTextureStateStage() permet de jouer sur les valeur de Blend, couleur, etc...
sur chaque canal de texture lors de leurs traitement par le pipeline de rendu.
Tu trouveras dans la Doc de DirectX toutes les info et les possibilité sur ces
instructions vital a la bonne maitrise de la 3D avec DirectX.
Sous DM3D, tu disposes d'une pile de pré-rendu et post-rendu, que tu peux alimenter pour
appliquer les changements d'état souhaité, soit au niveau d'une brush, soit au
niveau d'une entité dans sont ensemble. Ce sont les instructions:
et
Au prime abord, cela parrait asser compliqué, mais une fois que tu en as compris le principe,
cela te donne les plein pouvoir sur le rendu des tes Entités, et une puissance très
importante.
Par exemple, dans le cas d'un mesh en filaire, il suffit d'ecrire:
Si tu n'ecrivais pas l'instruction 'DM_EntityRestore...', le pipeline de rendu
resterais en mode filaire et les autres objets serais aussi représentés en WireFrame.
Voila, c'est succins, mais j'espère que cela a éclairé un petit peu ta lanterne.
Code : Tout sélectionner
DM_EntityAddRender(*entity, #D3DRS_FILLMODE, #D3DFILL_WIREFRAME )
et pas seulement à une Brush en particulier.
Il existe 3 grandes fonctions pour les changement d'état des divers
éléments constitutif de DirectX:
SetRenderState(), SetSamplerState(), SetTextureStageState()
SetRenderState() permet d'agir sur le traitement des pixel et des vertex par
le pipeline de rendu, comme par exemple le BlendMode, AlphaRef, ou FillMode.
SetSamplerState() permet d'agir sur les opérations de traitement généraux lié
aux textures, comme les filtres ou le type d'adressage.
SetTextureStateStage() permet de jouer sur les valeur de Blend, couleur, etc...
sur chaque canal de texture lors de leurs traitement par le pipeline de rendu.
Tu trouveras dans la Doc de DirectX toutes les info et les possibilité sur ces
instructions vital a la bonne maitrise de la 3D avec DirectX.
Sous DM3D, tu disposes d'une pile de pré-rendu et post-rendu, que tu peux alimenter pour
appliquer les changements d'état souhaité, soit au niveau d'une brush, soit au
niveau d'une entité dans sont ensemble. Ce sont les instructions:
Code : Tout sélectionner
DM_BrushAddRender.l(*CBrush, state.l, value.l)
DM_BrushAddSampler.l(*CBrush, sampler.l, Types.l, value.l)
DM_BrushAddTextureStage.l(*CBrush, Stage_texture.l, Types.l, Value.l)
DM_BrushRender(*CBrush, index_stack.l, state.l, value.l)
DM_BrushSampler(*CBrush, index_stack.l, sampler.l, Types.l, value.l)
DM_BrushTextureStage(*CBrush, index_stack.l, Stage_texture.l, Types.l, Value.l)
DM_BrushRestoreRender(*CBrush, state.l, value.l)
DM_BrushRestoreSampler(*CBrush, sampler.l, Types.l, value.l)
DM_BrushRestoreTextureStage(*CBrush, Stage_texture.l, Types.l, Value.l)
et
Code : Tout sélectionner
DM_EntityAddRender.l(*CBrush, state.l, value.l)
DM_EntityAddSampler.l(*CBrush, sampler.l, Types.l, value.l)
DM_EntityAddTextureStage.l(*CBrush, Stage_texture.l, Types.l, Value.l)
DM_EntityRender(*CBrush, index_stack.l, state.l, value.l)
DM_EntitySampler(*CBrush, index_stack.l, sampler.l, Types.l, value.l)
DM_EntityTextureStage(*CBrush, index_stack.l, Stage_texture.l, Types.l, Value.l)
DM_EntityRestoreRender(*CBrush, state.l, value.l)
DM_EntityRestoreSampler(*CBrush, sampler.l, Types.l, value.l)
DM_EntityRestoreTextureStage(*CBrush, Stage_texture.l, Types.l, Value.l)
Au prime abord, cela parrait asser compliqué, mais une fois que tu en as compris le principe,
cela te donne les plein pouvoir sur le rendu des tes Entités, et une puissance très
importante.
Par exemple, dans le cas d'un mesh en filaire, il suffit d'ecrire:
Code : Tout sélectionner
*mesh.CEntity = DM_CreateCube()
DM_EntityAddRender(*mesh, #D3DRS_FILLMODE, #D3DFILL_WIREFRAME )
DM_EntityRestoreRender(*mesh, #D3DRS_FILLMODE, #D3DFILL_SOLID )
Si tu n'ecrivais pas l'instruction 'DM_EntityRestore...', le pipeline de rendu
resterais en mode filaire et les autres objets serais aussi représentés en WireFrame.
Voila, c'est succins, mais j'espère que cela a éclairé un petit peu ta lanterne.
Force et sagesse...