Dreamotion3D
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
@bebou007
au fait, dans ton petit code que a posté, si tu veux que cela marche
il faut absolument créer au moins une camera:

au fait, dans ton petit code que a posté, si tu veux que cela marche
il faut absolument créer au moins une camera:
Code : Tout sélectionner
OpenScreen 800,600,32 ,2
DM_InitGraphics(hWnd, 32,1 ,1)
camera = DM_CreateCamera()
Repeat
DM_BeginScene()
DM_RenderWorld()
DM_EndScene()
Until SpaceKey()
DM_ClearGraphics()
End

Force et sagesse...
-
- Messages : 1554
- Inscription : lun. 24/juil./2006 6:44
- Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E
@bebou007
le code suivant ouvre bien une fenetre DM3D, mais les actions sur camera et loadentity
n'on aucun effet. Comment fais-tu pour définir des pointeur sous Play ?
le code suivant ouvre bien une fenetre DM3D, mais les actions sur camera et loadentity
n'on aucun effet. Comment fais-tu pour définir des pointeur sous Play ?
Code : Tout sélectionner
Include "Dreamotion3D"
OpenScreen 800,600,32 ,1
hWnd = GetScreenHandle()
DM_InitGraphics(hWnd, 32, 0 ,1)
DM_LoadEntity("harvester.b3d", 0,0)
camera = DM_CreateCamera(0)
DM_CameraClsColor(camera, 128, 128, 128)
DM_TranslateEntity(camera, 0,0,-50)
Repeat
DM_BeginScene()
DM_RenderWorld()
DM_EndScene()
Until SpaceKey()
Force et sagesse...
et bien je trouve pas
je peut recupere l'adresse d'un tableau mais je sais pas apres comment definir un pointeur
par contre je sais pas si tu te sert de mon fichier .dba car j'ai oublier des parametre au fonction DM_LoadEntity et DM_CreateCamera
mais bon aparament sa marche pas quand meme car j'ai une fenetre noir et rien de plus je vais voir car il me semble qun pointeur c'est une adresse donc on peut stoker une adresse dans un integer non?
je peut recupere l'adresse d'un tableau mais je sais pas apres comment definir un pointeur
par contre je sais pas si tu te sert de mon fichier .dba car j'ai oublier des parametre au fonction DM_LoadEntity et DM_CreateCamera
mais bon aparament sa marche pas quand meme car j'ai une fenetre noir et rien de plus je vais voir car il me semble qun pointeur c'est une adresse donc on peut stoker une adresse dans un integer non?
Code : Tout sélectionner
Pointer
Pointer
Parameters: NONE
Returns: NONE
Pointer in is not a command. It's a keyword used to explicitly declare an item as being that of Pointer data type.
FACTS:
* Note: PlayBasic V1.28 supports the following pointer types, Generic, Byte,Word,Integer,Float and UserDefinedTypes
* To Read & Write to pointer, use the '*' symbol as prefix. This denoted you want to information the pointer is pointing at, and not the pointers address.
* Important: Attempting to read/write from a pointer that has yet to initialized (told what it should point at) will most certainly crash your application ! So care is definitively needed when dealing with pointers!
* Arithmetic between Pointers (ie Address=Address+1) will automatically scale the value to the Pointers data width.
* When mixing pointer types, PB expects the user to explicitly cast the terms.
* When writing to a generic pointer, the data type is derived from the expression result.
* When Reading from a generic pointer, the user has to explicitly cast the read datatype
Ie.
Dim Address as pointer
Print *IntPtr(Address) ; recast the generic as Integer pointer and read then long from memory
* Typed Pointers (User defined type pointers) allow you to use append the user defined types fields to Read/Write pointer accesses.
General Pointer Examples:
This example shows how to declare the various Pointer types. See the Byte,Word,Integer,Float for usage examples
Pointer Declaration Example
; *=----------------------------------------=*
; Explicitly Delcare POinter types using DIM
; *=----------------------------------------=*
; Declare a GENERIC Pointer (a pointer to read/write
; byte/word/integer/float values)
Dim MyGenericPointer As Pointer
; Declare a Byte Pointer (a pointer to read/write byte values)
Dim MyBytePointer As Integer Pointer
; Declare a Word Pointer (a pointer to read/write
; Word values)
Dim MyWordPointer As Word Pointer
; Declare a Integer Pointer (a pointer to read/write;
; Integer values)
Dim MyIntegerPointer As Integer Pointer
; Declare a Float Pointer (a pointer to read/write
; Float values)
Dim MyFloatPointer As Float Pointer
Pointer User Defined Types:
This example shows how you can declare a user define type pointer adn how to use it feilds.
Example
` Declare a Userd defined type called tVertex
Type tVertex
x#,y#,z#
EndType
; Each Type is 12 bytes (3 floats 3*4=12)
SizeOf_tVertex=12
; declare a User Defined type pointer
Dim MyVertexPointer as tVertex Pointer
; Create a bank
CreateBank 1,1000
; Use this pointer to write some Integer values to a bank
For lp=0 To 10
; Set pointer address of this item
MyVertexPointer=GetBankPtr(1)+(lp*SizeOf_tVertex)
*MyVertexPointer.x# = 100.0+lp
*MyVertexPointer.Y# = 200.0+lp
*MyVertexPointer.Z# = 300.0+lp
Next
; Use this pointer to read the values back
For lp=0 To 10
MyVertexPointer=GetBankPtr(1)+(lp*SizeOf_tVertex)
Print *MyVertexPointer.x#
Print *MyVertexPointer.y#
Print *MyVertexPointer.Z#
Next
; Display the Screen and wait for the user to press a key
Sync
WaitKey
This example would output.
100.0
200.0
300.0
101.0
201.0
301.0
102.0
202.0
302.0
103.0
203.0
303.0
104.0
204.0
304.0
105.0
205.0
305.0
106.0
206.0
306.0
107.0
207.0
307.0
108.0
208.0
308.0
109.0
209.0
309.0
110.0
210.0
310.0
Salut tmyke,
Bravo pour ce moteur 3D.
Comme beaucoup ici, j’ai commencé à utiliser les fonctions du moteur 3D de PB et bien que le jeu d’instructions soit incomplet, il y a certaines fonctionnalités qui me sont indispensables et qui ne me semble non disponibles dans la version actuelle de Dreamotion 3D.
Ainsi, j’aurai aimé savoir si cela été prévu ou non ?
Voici les fonctionnalités en question :
- Sélectionner le mode de projection de la caméra : Projection orthographique/perspective
- Incruster la scène dans tout ou partie d’une fenêtre Windows (à l’image d’un OpenWindowedScreen() ), afin de pouvoir intégrer la scène dans un éditeur qui utilise les gadgets PB.
Bravo pour ce moteur 3D.
Comme beaucoup ici, j’ai commencé à utiliser les fonctions du moteur 3D de PB et bien que le jeu d’instructions soit incomplet, il y a certaines fonctionnalités qui me sont indispensables et qui ne me semble non disponibles dans la version actuelle de Dreamotion 3D.
Ainsi, j’aurai aimé savoir si cela été prévu ou non ?
Voici les fonctionnalités en question :
- Sélectionner le mode de projection de la caméra : Projection orthographique/perspective
- Incruster la scène dans tout ou partie d’une fenêtre Windows (à l’image d’un OpenWindowedScreen() ), afin de pouvoir intégrer la scène dans un éditeur qui utilise les gadgets PB.
Pour ta première question, il y a DM_CameraProjRatio, dont le dernier paramètre permet de changer la perspective.Dräc a écrit :Salut tmyke,
Bravo pour ce moteur 3D.
Comme beaucoup ici, j’ai commencé à utiliser les fonctions du moteur 3D de PB et bien que le jeu d’instructions soit incomplet, il y a certaines fonctionnalités qui me sont indispensables et qui ne me semble non disponibles dans la version actuelle de Dreamotion 3D.
Ainsi, j’aurai aimé savoir si cela été prévu ou non ?
Voici les fonctionnalités en question :
- Sélectionner le mode de projection de la caméra : Projection orthographique/perspective
- Incruster la scène dans tout ou partie d’une fenêtre Windows (à l’image d’un OpenWindowedScreen() ), afin de pouvoir intégrer la scène dans un éditeur qui utilise les gadgets PB.
Merci pour la commande
j'ai posté un code pour integrer les gadgets avec un screen en mode fenetre :
http://purebasic.forum-gratuit.com/view ... &start=195
Dräc a écrit :- Incruster la scène dans tout ou partie d’une fenêtre Windows (à l’image d’un OpenWindowedScreen() ), afin de pouvoir intégrer la scène dans un éditeur qui utilise les gadgets PB.
j'ai posté un code pour integrer les gadgets avec un screen en mode fenetre :
http://purebasic.forum-gratuit.com/view ... &start=195
Ce dernier parametre permet de régler le fond du champ de la caméra, c'est à dire la plan jusqu'où la scène doit etre rendue...djes a écrit : Pour ta première question, il y a DM_CameraProjRatio, dont le dernier paramètre permet de changer la perspective.
Merci, je vais regarder cela...cha0s a écrit : j'ai posté un code pour integrer les gadgets avec un screen en mode fenetre.