Soucis de texture de dès

Généralités sur la programmation 3D
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Soucis de texture de dès

Message par Ar-S »

Salut,

Etant un gros noob en codage 3D, j'ai repris le code de falsam concernant les cubes car j'aimerai créer des dés en 3D
J'ai donc créé une texture qui me parait logique.

Image

J'ai repris le code en insérant la texture.
Mon soucis est qu'elle se plaque en entier sur chaque face du dés. Comment l'appliquer à l'ensemble de l'objet ?

Note: j'ai compilé en 5.31 car en 5.41 EntityPhysicBody est obsolète.. Je suppose que ça a été remplacé par CreateEntityBody à la place de CreateEntity mais dans le doute...

Code : Tout sélectionner

;Naissance d'un cube : Premiere chute
UsePNGImageDecoder()
; Coordonnées x,y,z de la caméra
Define.f CamX, CamY, CamZ

InitEngine3D()
Parse3DScripts()
InitKeyboard()
InitSprite()

window = OpenWindow(#PB_Any,0,0,1024,768,"Histoire d'un cube")
OpenWindowedScreen(WindowID(window),0,0,1024,768)

;
; Naissance d'un cube

; Une forme : C'est notre MESH qui ici sera un cube
Cube_Mesh = CreateCube(#PB_Any, 1)
Ground_Mesh = CreatePlane(#PB_Any, 10, 10, 3, 3, 3, 3)

Add3DArchive("C:\Users\LDVM\OneDrive\Documents\PB\3D\des", #PB_3DArchive_FileSystem)
Texture = LoadTexture(#PB_Any,"text1.png")

; StartDrawing(TextureOutput(Texture))
; Box(0,0,512,512,RGB(0, 0, 0))
; Box(1,1,510,510,RGB(255, 216, 0))
; StopDrawing()

; Un MATERIEL c'est la partie visible de notre cube qui sera constitué de notre texture
Material = CreateMaterial(#PB_Any,TextureID(texture))

; Création d'un cube en hauteur
; CreateEntity() permet de définir les coordonnées x,y,z lors de la création d'une entité
Cube_Entity = CreateEntity(#PB_Any, MeshID(Cube_Mesh), MaterialID(Material), 0, 1, 0)
EntityPhysicBody(Cube_Entity, #PB_Entity_BoxBody,2,0,1)

; Création du sol
Ground_Entity = CreateEntity(#PB_Any, MeshID(Ground_Mesh), MaterialID(Material), 0, -2, 0)
EntityPhysicBody(Ground_Entity, #PB_Entity_StaticBody, 0, 0, 1)

;
;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

;
; Une camera
Camera = CreateCamera(#PB_Any,0,0,100,100)
CamX=2.0
CamY=1.0
CamZ=15

; La caméra regarde en direction du point au coordonnées x=0, y=0, z=0
CameraLookAt(camera,0,0,0)


While #True
 
  Event = WindowEvent()
   
  ExamineKeyboard() 
 
  ; Touche Escape pour fermer l'application
  If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
    Break
  EndIf 
 
  If KeyboardPushed(#PB_Key_Left)
    CamX-0.2 
  ElseIf KeyboardPushed(#PB_Key_Right)
    CamX+0.2
  EndIf
 
  If KeyboardPushed(#PB_Key_Up)
    CamY+0.2 
  ElseIf KeyboardPushed(#PB_Key_Down)
    CamY-0.2
  EndIf
   
  MoveCamera(camera, CamX, CamY, CamZ, #PB_Absolute)
 
  ; Affiche le rendu de la scène
  RenderWorld()
  FlipBuffers()
Wend 
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Soucis de texture de dès

Message par comtois »

il faut adapter les coordonnées uv de la texture, plusieurs façons de faire, en voici une :

Code : Tout sélectionner

;Naissance d'un cube : Premiere chute
UsePNGImageDecoder()
; Coordonnées x,y,z de la caméra
Define.f CamX, CamY, CamZ

InitEngine3D()
Parse3DScripts()
InitKeyboard()
InitSprite()

window = OpenWindow(#PB_Any,0,0,1024,768,"Histoire d'un cube")
OpenWindowedScreen(WindowID(window),0,0,1024,768)

;
; Naissance d'un cube
; Une forme : C'est notre MESH qui ici sera un cube
Cube_Mesh = CreateMesh(#PB_Any)
;Haut
MeshVertexPosition(-0.5, 0.5,0.5)
MeshVertexNormal(0, 1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.25)
MeshVertexPosition(-0.5, 0.5,-0.5)
MeshVertexNormal(0, 1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.50)
MeshVertexPosition(0.5, 0.5,-0.5)
MeshVertexNormal(0, 1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.50)
MeshVertexPosition(0.5, 0.5,0.5)
MeshVertexNormal(0, 1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.25)
MeshFace(2, 1, 0)
MeshFace(3, 2, 0)
;dessous
AddSubMesh()
MeshVertexPosition(-0.5, -0.5,0.5)
MeshVertexNormal(0, -1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.75)
MeshVertexPosition(-0.5, -0.5,-0.5)
MeshVertexNormal(0, -1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 1.00)
MeshVertexPosition(0.5, -0.5,-0.5)
MeshVertexNormal(0, -1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 1.00)
MeshVertexPosition(0.5, -0.5,0.5)
MeshVertexNormal(0, -1, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.75)
MeshFace(0, 1, 2)
MeshFace(0, 2, 3)
;arriere
AddSubMesh()
MeshVertexPosition(-0.5, -0.5,-0.5)
MeshVertexNormal(0, 0, -1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.5)
MeshVertexPosition(-0.5, 0.5,-0.5)
MeshVertexNormal(0, 0, -1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.75)
MeshVertexPosition(0.5, 0.5,-0.5)
MeshVertexNormal(0, 0, -1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.75)
MeshVertexPosition(0.5, -0.5,-0.5)
MeshVertexNormal(0, 0, -1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.5)
MeshFace(0, 1, 2)
MeshFace(0, 2, 3)
;avant
AddSubMesh()
MeshVertexPosition(-0.5, -0.5,0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.0)
MeshVertexPosition(-0.5, 0.5,0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.25)
MeshVertexPosition(0.5, 0.5,0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.25)
MeshVertexPosition(0.5, -0.5,0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.0)
MeshFace(2, 1, 0)
MeshFace(3, 2, 0)
;gauche
AddSubMesh()
MeshVertexPosition(-0.5, -0.5,-0.5)
MeshVertexNormal(-1, 0, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.00, 0.25)
MeshVertexPosition(-0.5, 0.5,-0.5)
MeshVertexNormal(-1, 0, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.00, 0.50)
MeshVertexPosition(-0.5, 0.5,0.5)
MeshVertexNormal(-1, 0, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.50)
MeshVertexPosition(-0.5, -0.5,0.5)
MeshVertexNormal(-1, 0, 0)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.33, 0.25)
MeshFace(2, 1, 0)
MeshFace(3, 2, 0)
;droit
AddSubMesh()
MeshVertexPosition(0.5, -0.5,-0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.25)
MeshVertexPosition(0.5, 0.5,-0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(0.66, 0.50)
MeshVertexPosition(0.5, 0.5,0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(1.00, 0.50)
MeshVertexPosition(0.5, -0.5,0.5)
MeshVertexNormal(0, 0, 1)
MeshVertexColor(RGB(255,255,255))
MeshVertexTextureCoordinate(1.00, 0.25)
MeshFace(0, 1, 2)
MeshFace(0, 2, 3)
FinishMesh(1)


Ground_Mesh = CreatePlane(#PB_Any, 10, 10, 3, 3, 3, 3)

      
 Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures", #PB_3DArchive_FileSystem)
Texture = LoadTexture(#PB_Any,"de.png")

; StartDrawing(TextureOutput(Texture))
; Box(0,0,512,512,RGB(0, 0, 0))
; Box(1,1,510,510,RGB(255, 216, 0))
; StopDrawing()

; Un MATERIEL c'est la partie visible de notre cube qui sera constitué de notre texture
Material = CreateMaterial(#PB_Any,TextureID(texture))

; Création d'un cube en hauteur
; CreateEntity() permet de définir les coordonnées x,y,z lors de la création d'une entité
Cube_Entity = CreateEntity(#PB_Any, MeshID(Cube_Mesh), MaterialID(Material), 0, 6, 0)
CreateEntityBody(Cube_Entity, #PB_Entity_BoxBody,0.1,0.1,0.1)
RotateEntity(Cube_Entity, Random(180), Random(180), Random(180), #PB_Absolute)

; Création du sol
Ground_Entity = CreateEntity(#PB_Any, MeshID(Ground_Mesh), MaterialID(Material), 0, -2, 0)
CreateEntityBody(Ground_Entity, #PB_Entity_StaticBody, 0, 0.1, 0.1)


;
;Lumiere et ombre
AmbientColor(RGB(127, 127, 127))
CreateLight(#PB_Any,RGB(151, 251, 151), -1.8, 10, 5)
WorldShadows(#PB_Shadow_Additive)

;
; Une camera
Camera = CreateCamera(#PB_Any,0,0,100,100)
CamX=2.0
CamY=1.0
CamZ=15

; La caméra regarde en direction du point au coordonnées x=0, y=0, z=0
CameraLookAt(camera,0,0,0)


While #True

  Event = WindowEvent()
   
  ExamineKeyboard()

  ; Touche Escape pour fermer l'application
  If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
    Break
  EndIf

  If KeyboardPushed(#PB_Key_Left)
    CamX-0.2
  ElseIf KeyboardPushed(#PB_Key_Right)
    CamX+0.2
  EndIf

  If KeyboardPushed(#PB_Key_Up)
    CamY+0.2
  ElseIf KeyboardPushed(#PB_Key_Down)
    CamY-0.2
  EndIf
  
  MoveCamera(camera, CamX, CamY, CamZ, #PB_Absolute)

  ; Affiche le rendu de la scène
  RenderWorld()
  FlipBuffers()
Wend 
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
Ar-S
Messages : 9476
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Soucis de texture de dès

Message par Ar-S »

Merci Comtois,

ça colle parfaitement, par contre j'hallucine qu'il faille indiquer toutes les coords de la texture !
Comment as tu trouvé les coord des MeshVertex ?
J'ai une certaine experience avec 3DS Max. Avec lui on applique une texture et à un objet et elle se plaque, même s'il faut parfois la remanier.
Je trouve aussi étrange l'objet et l'entité. Je trouve que ça fait double emploi.
Je vais gratter encore parce que là je ne trouve pas ça évident du tout

--- edit ---
@Dobro, par habitude justement des soft 3D que j'ai déjà utilisé, mais vu la misère, je pense faire comme ça pour d'autres objets 3D. En revanche je ne sais pas si le raccord sera propre alors qu'avec 1 seule texture, ça englobe tout.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Soucis de texture de dès

Message par comtois »

Ar-S a écrit :Comment as tu trouvé les coord des MeshVertex ?
J'avais fait un petit tuto ici
En gros u et v sont comprises entre 0 et 1.
Pour le calcul :
u = position en x /taille de l'image en x
v = position en y /taille de l'image en y
si je reprends ton image 768x1024 les coordonnées du chiffre '1' se trouvent entre :
0.33 et 0.66 pour u (256/768=0.33 et 512/768=0.66)
0.25 et 0.50 pour v (256/1024=0.25 et 512/1024=0.5)
Ou dans le cas de ton image c'est encore plus simple, elle est composée de 3 carrés sur la largeur et 4 sur la hauteur, tu peux raisonner ainsi pour calculer le chiffre 1 :
u se trouve entre 1/3 et 2/3
v se trouve entre 1/4 et 2/4
J'ai une certaine experience avec 3DS Max. Avec lui on applique une texture et à un objet et elle se plaque, même s'il faut parfois la remanier.
3DS fait le calcul pour toi.

J'ai bien précisé que je montrais une façon de faire. La solution de Spock est plus simple, en utilisant une image par face tu auras les mêmes coordonnées uv pour toutes les faces.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis de texture de dès

Message par falsam »

Ar-S a écrit :J'ai une certaine experience avec 3DS Max.
Il existe un plugin d'exportation vers Ogre3D.

:arrow: http://www.ogre3d.org/tikiwiki/Easy+Ogre+Exporter

N'ayant pas 3DS Max je n'ai pas pu tester.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: Soucis de texture de dès

Message par Mesa »

J'ai un bug bizarre.
Toujours le même bug sous xp avec Parse3DScripts():
[14 :19 :15] [ERREUR] Accès mémoire invalide. (erreur de lecture à l'adresse 0)
En général, il suffit de le déplacer pour résoudre le bug, je l'ai mis après "Add3DArchive...("
Et là j'ai une autre erreur:
[14 :20 :30] [ERREUR] InitEngine3D() doit être appelée avec succès avant d'utiliser le jeu de commandes 3D.
Évidemment, je n'ai pas touché à InitEngine3D().

M.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Soucis de texture de dès

Message par comtois »

Exact le parseScript() est mal placé, mais je n'avais pas d'erreur. Et si je le déplace comme tu l'indiques je n'ai pas d'erreur.
Testé avec la 5.41 x86 sous windows 10, j'ai aussi testé avec le sous système opengl, toujours pas d'erreur.

Les exemples 3D fonctionnent tous chez toi ou tu as aussi des erreurs ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: Soucis de texture de dès

Message par Mesa »

J'ai testé tous les exemples datés de 2015 et quelques uns de 2014.


Tout fonctionne sauf:
1) Il faut déplacer Parse3DScript après if screen3drequester() pour tous les exemples.
2) Terrainshadow, terrainphysic et worddebug fonctionnent mais plantent après appui sur la touche ESC
3) Raycollide, le curseur de cegui s'affiche mais ne sert à rien, il ne se déplace pas.

Il semble que le screen3drequester() arrange bien les choses car dès que je veux "trafiquer" un peu le code et me passer de ce "requester", apparaissent alors plein de problèmes.

M.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Soucis de texture de dès

Message par comtois »

Mesa a écrit : 1) Il faut déplacer Parse3DScript après if screen3drequester() pour tous les exemples.
2) Terrainshadow, terrainphysic et worddebug fonctionnent mais plantent après appui sur la touche ESC
3) Raycollide, le curseur de cegui s'affiche mais ne sert à rien, il ne se déplace pas.

Il semble que le screen3drequester() arrange bien les choses car dès que je veux "trafiquer" un peu le code et me passer de ce "requester", apparaissent alors plein de problèmes.
M.
1) J'en prends note
2) C'est un bug connu apparu avec la 5.41 et qui touche toutes les libs dès que tu utilises #PB_any pour définir un objet.
3) En effet, il manque cette ligne dans la boucle

Code : Tout sélectionner

 InputEvent3D(MouseX(), MouseY(), MouseButton(#PB_MouseButton_Left))
Mais la souris ne sert à rien dans cet exemple, je la supprimerai.

Alors c'est rassurant , avec ton pc en carton tu arrives à faire fonctionner les exemples mais ça ne m'explique pas pourquoi le code plus haut merdouille chez toi.
Tu as quelle erreur dans ton fichier log ?
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Re: Soucis de texture de dès

Message par djes »

Ar-S a écrit :Merci Comtois,

ça colle parfaitement, par contre j'hallucine qu'il faille indiquer toutes les coords de la texture !
Comment as tu trouvé les coord des MeshVertex ?
J'ai une certaine experience avec 3DS Max. Avec lui on applique une texture et à un objet et elle se plaque, même s'il faut parfois la remanier.
Je trouve aussi étrange l'objet et l'entité. Je trouve que ça fait double emploi.
Je vais gratter encore parce que là je ne trouve pas ça évident du tout
C'est parce que tu n'as pas l'habitude de faire de la 3D. Avant, on utilisait des textures positionnées selon des modèles mathématiques (plan, sphère, cube, cylindre...). Il fallait aussi déformer l'image en fonction du modèle. Par exemple, le mapping de la terre (voir ici https://www.google.fr/search?q=earth+ma ... 20&bih=965), implique de faire une image où les pôles sont très allongés en largeur, et l'équateur écrasé. Sans compter qu'au final, la plupart des logiciels 3D (et des cartes 3D) fonctionnent avec de simples triangles...

Avec l'UV-mapping, on a résolu pas mal de problèmes, mais cela implique de faire un travail d'association d'un point 3D à une position dans la texture 2D. On peut aussi associer plusieurs triangles à la même texture, ce qui est très pratique pour éviter de manipuler plein de fichiers images. Très souvent, le modeleur (le logiciel 3D) peut le faire automatiquement, surtout quand les formes sont simples. Mais au delà d'une certaine complexité, le designer doit faire des petites retouches lui-même.

Prenons l'exemple d'une tête : tu as une forme simple, plus ou moins sphéroïde. On pourrait se dire que cela ira avec un modèle mathématique sphère, mais malheureusement il y aussi le derrière des oreilles, l'intérieur du nez, etc. Donc on va devoir bricoler un peu... Voici quelques exemples où l'on voit le mesh (la grille de points) aplatie pour coller à l'image 2D : https://www.google.fr/search?q=head+uv- ... UQ_AUIBygB , et on voit aussi quelques textures crées pour coller à ça.

Les logiciels de dessin 3D (comme z-brush), permettent de peindre directement sur le modèle et de manipuler les positions 2D/3D quand celles-ci sont défaillantes. L'un des problèmes les plus courants est la superposition de positions (quand deux triangles sont positionnés au même endroit sur la texture 2D). Un autre (moins grave) est l'inversion (le triangle montre la face inverse, comme une pièce de monnaie côté pile au lieu d'être côté face).

Voilà, voilà. :)
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: Soucis de texture de dès

Message par Mesa »

Avec le compilo 5.41LTSx86: le log n'apparait pas ni la console de débogage. En fait, je vois un "flash", la console apparait et disparait aussitôt.

Avec le compilo 5.40b4, pas de log mais la console s'affiche, sauf qu'elle est vide.
Avec toujours les mêmes messages d’erreur.

Avec le compilo 5.31, tout va bien jusqu'à CreateEntityBody() qu'il ne connait pas. Il ne peut donc pas créer de log.


M.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis de texture de dès

Message par falsam »

Dommage que la création du cube avec la fonction CreateCube() ne crée pas un cube dont chacune des faces est un submesh.

On aurait pu utiliser dans ce cas la fonction SetMeshMaterial(#Mesh, MaterialID [, SubMesh]) afin d'affecter un matériel à une face.
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Soucis de texture de dès

Message par comtois »

Mesa a écrit :Avec le compilo 5.41LTSx86: le log n'apparait pas ni la console de débogage. En fait, je vois un "flash", la console apparait et disparait aussitôt.

Avec le compilo 5.40b4, pas de log mais la console s'affiche, sauf qu'elle est vide.
Avec toujours les mêmes messages d’erreur.

Avec le compilo 5.31, tout va bien jusqu'à CreateEntityBody() qu'il ne connait pas. Il ne peut donc pas créer de log.

M.
Ajoute #PB_Engine3D_DebugLog en paramètre de initEngine3D() pour créer le fichier log.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Soucis de texture de dès

Message par comtois »

falsam a écrit :Dommage que la création du cube avec la fonction CreateCube() ne crée pas un cube dont chacune des faces est un submesh.

On aurait pu utiliser dans ce cas la fonction SetMeshMaterial(#Mesh, MaterialID [, SubMesh]) afin d'affecter un matériel à une face.
Effectivement ça pourrait simplifier les choses, je vais regarder.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Soucis de texture de dès

Message par falsam »

comtois a écrit :Effectivement ça pourrait simplifier les choses, je vais regarder.
Hoooo YeaHHhh :)
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre