Application 3D d'un moniteur à un autre

Généralités sur la programmation 3D
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Application 3D d'un moniteur à un autre

Message par falsam »

Est ce qu'il y a un moyen de passer une application d'un moniteur à un autre sans que ça plante ?

Si certains d'entres vous ont deux moniteurs sur leurs PC essayer ce code pour voir ce qu'il se passe.

Code : Tout sélectionner

Define.f CamX, CamY, CamZ

Procedure.w MouseWheelDelta()
  wz.w = ((EventwParam()>>16)&$FFFF)
  ProcedureReturn -(wz/100)
EndProcedure

InitEngine3D()
InitKeyboard()
InitSprite()

window = OpenWindow(#PB_Any,0,0,1024,768,"How to use mousewheel to zoom in 3D")
OpenWindowedScreen(WindowID(window),0,0,1024,768)

;
; Ambiance
AmbientColor(RGB(255, 255, 255))
CreateLight(#PB_Any,RGB(255, 255, 255), 3,50,50)

;
;axes 
Red = RGB(255, 0, 0)
Green = RGB(0, 255, 0)
Blue = RGB(0, 255, 255)

AxeX = CreateLine3D(#PB_Any, -10,0,0, Red, 10, 0, 0, Red) 
AxeY = CreateLine3D(#PB_Any, 0,-10,0, Green, 0, 10, 0, Green) 
AxeZ = CreateLine3D(#PB_Any, 0,0,-10, Blue, 0, 0, 10, Blue) 

;
; Entity
Mesh = CreateCube(#PB_Any, 2) 

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

Material = CreateMaterial(#PB_Any,TextureID(texture))
Entity = CreateEntity(#PB_Any, MeshID(Mesh), MaterialID(Material))

;
; Camera
Camera = CreateCamera(#PB_Any,0,0,100,100)
CameraBackColor(Camera, RGB(105, 105, 105))
CamX=2.0
CamY=1.0
CamZ=10
CameraLookAt(Camera,0,0,0)


While #True
  
  Event = WindowEvent()
  Select Event
    Case #WM_MOUSEWHEEL      
      CamZ=CamZ+(MouseWheelDelta())
      
  EndSelect
  
  ExamineKeyboard()  
  
  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)
  
  CameraLookAt(Camera, EntityX(Entity), EntityY(Entity), EntityZ(Entity))
  
  ClearScreen(RGB(0, 0, 0))
  RenderWorld()
  FlipBuffers()
Wend
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%
Avatar de l’utilisateur
graph100
Messages : 1318
Inscription : sam. 21/mai/2005 17:50

Re: Application 3D d'un moniteur à un autre

Message par graph100 »

avec une fenêtre je ne vois pas pourquoi ca planterait. C'est avec le plein écran qu'il y a un soucis !
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Application 3D d'un moniteur à un autre

Message par G-Rom »

C'est une histoire de contexte, les ressources sont généralement alloué aux contexte.
Si tu fermes ta fenêtre, il faudra ré alloué les ressources avant de la ré ouvrir ailleurs.
Mais passer d'un écran à l'autre, OpenWindow() ne le permet pas, a moins de fouiller dans les fin fonds des apis , je ne vois pas.
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Application 3D d'un moniteur à un autre

Message par falsam »

G-Rom a écrit :C'est une histoire de contexte, les ressources sont généralement alloué aux contexte.
Si tu fermes ta fenêtre, il faudra ré alloué les ressources avant de la ré ouvrir ailleurs.
Mais passer d'un écran à l'autre, OpenWindow() ne le permet pas, a moins de fouiller dans les fin fonds des apis , je ne vois pas.
Tu as des soucis de réponses en double depuis quelques temps. Souci de connexion internet ? :mrgreen:

Concernant ta réponse, il y a pourtant des application qui passent d'un moniteur à un autre sans perdre le contenu 3D ou plantage de l'application.

Ce ne serait pas un souci plutot avec la gestion de directx ?
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%
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Application 3D d'un moniteur à un autre

Message par falsam »

Finalement j'avais la réponse. Si je compile avec le sous-System OpenGL alors plus de souci. L'application passe bien d'un moniteur à un autre sans perdre le contenu 3D ou plantage.
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%
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Application 3D d'un moniteur à un autre

Message par G-Rom »

falsam a écrit :
G-Rom a écrit :C'est une histoire de contexte, les ressources sont généralement alloué aux contexte.
Si tu fermes ta fenêtre, il faudra ré alloué les ressources avant de la ré ouvrir ailleurs.
Mais passer d'un écran à l'autre, OpenWindow() ne le permet pas, a moins de fouiller dans les fin fonds des apis , je ne vois pas.
Tu as des soucis de réponses en double depuis quelques temps. Souci de connexion internet ? :mrgreen:

Concernant ta réponse, il y a pourtant des application qui passent d'un moniteur à un autre sans perdre le contenu 3D ou plantage de l'application.

Ce ne serait pas un souci plutot avec la gestion de directx ?
je sais pas pourquoi le fofo me fait des doublons...

Pour directx , oui surement, c'est lui qui fourni le "contexte" ( la fenêtre , le mode exclusif fullscreen, etc...) , opengl fait pareil , mais surement d'une autre façon.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Application 3D d'un moniteur à un autre

Message par Backup »

G-Rom a écrit :je sais pas pourquoi le fofo me fait des doublons...
dans ce cas , ça viens pas du forum !!
sinon tout le monde serai touché ..

si j'ajoute ça a tes problemes de Lag sur OpenSpace , je me dit ....

il a ptete bien un soucis sur son Ordi , le monsieur .... tu devrai commencer
par verifier les Malwares .... , virus .... puis tester ton Reseau (bande passante ).... :)

a ce propos , va ici :
http://www.zdnet.fr/services/test-bande-passante/

et colle nous ta capture d'ecran , qu'on vois ....

mais bon , comme tu vas me dire , que ton Ordinateur est parfait ... que forcement ça viens d'ailleurs .... :mrgreen:
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Application 3D d'un moniteur à un autre

Message par G-Rom »

Dobro a écrit :
G-Rom a écrit :je sais pas pourquoi le fofo me fait des doublons...
dans ce cas , ça viens pas du forum !!
sinon tout le monde serai touché ..

si j'ajoute ça a tes problemes de Lag sur OpenSpace , je me dit ....

il a ptete bien un soucis sur son Ordi , le monsieur .... tu devrai commencer
par verifier les Malwares .... , virus .... puis tester ton Reseau (bande passante ).... :)

a ce propos , va ici :
http://www.zdnet.fr/services/test-bande-passante/

et colle nous ta capture d'ecran , qu'on vois ....

mais bon , comme tu vas me dire , que ton Ordinateur est parfait ... que forcement ça viens d'ailleurs .... :mrgreen:
le jeu est mal programmé, de plus, d'après ce que j'ai vu en sniffant le jeu, les requêtes sql se font sur un port qui n'est pas ouvert chez moi.
le problème venais tout simplement de ma souris, elle balançais 2 clics , le pullup doit faire la gueule.
je joue à bf3 & bf4 en réseau à 64 joueurs ! j'ai 2 méga de connexion , ton site m'a donné ~1900kbits.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Application 3D d'un moniteur à un autre

Message par Backup »

G-Rom a écrit : ton site m'a donné ~1900kbits.
tu deconnes ?? 8O

sur un ADSL 8mega , je suis deja entre 6500 Kb/s et 7000 dans les meilleur moment

si tu te traine avec du 1900 kbits/s , m’étonne pas que tu rames :lol:

Image

jouer en reseau avec du 2 mega , c'est comment dire .... :lol:
bonjour le Laggeur .... :D
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Application 3D d'un moniteur à un autre

Message par falsam »

Maintenant je sais pourquoi G-Rom et surement d'autres lag sur Open Space.

La bande passante sur ma DSL.

Image

et 14500 Kbit/s environ sur ma deuxième ligne ADSL france telecom.

G-Rom ne me répond pas qu'Open Space est mal codé parce que j'ai des moignons à la place des doigts hein ?

Certains jeux en ligne passe par des serveurs de jeux qui renvoient des images à l'utilisateur final. Mon principe est tout le contraire, je ne sature pas le serveur. C'est le PC qui gére la 3D. Par contre ça demande une bonne connexion pour envoyer des requêtes et recevoir en temps réels le résultat de ces requêtes.

Alors temps pis pour ceux qui n'ont pas une connexion suffisante.

Bon .... je suis peut être hors sujet :oops:
Dernière modification par falsam le jeu. 31/oct./2013 14:42, modifié 1 fois.
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%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Application 3D d'un moniteur à un autre

Message par Backup »

houa le pied :)


non serieux de nos jours le Plancher pour le Jeux reseau .. c'est 6-8 Mega :)

avec 2 mega, t'arriverai meme pas a faire tourner WOT (World of Tanks )
parceque la majorité du jeux est sur leur serveurs ...
et que sans bonne connexion , c'est quasi rappé (meme avec un bon algo de repositionnement )

[reedit]

pour Wot ils preconisent

Connection speed:
1024
Kbps
or faster
mais franchement, meme avec mon 8Mega , je lag des moments .. c'est dire
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Application 3D d'un moniteur à un autre

Message par G-Rom »

Tu as une bande passante de malade ^^
ca doit être le pied pour le download !
ceci dit, je regarde du streaming, je joue en réseau à des jeux "gourmand" comme bf3 / bf4, wargame, etc... pas de lag du tout.
C'est le PC qui gére la 3D.
Tout les jeux , c'est comme ça, le client gère sont propre environnement , d'ailleurs on ne peu même pas appeler cela du lag, car ton "serveur" positionne les joueurs environ toutes les secondes , la bande passante n'est même pas utilisé d'ailleurs , d'ou je dis que tu as mal programmé, je suis sur que si j'utilise un pc moins puissant, le jeu sautera moins. je ferais les tests ce soir sur un pc en carton pâte et je te dirais ce qu'il en est. D'ailleurs , tu dois être le seul au monde à faire un jeu multijoueur temps réel ou le serveur est un serveur sql :mrgreen:
G-Rom
Messages : 3626
Inscription : dim. 10/janv./2010 5:29

Re: Application 3D d'un moniteur à un autre

Message par G-Rom »

Tu as une bande passante de malade ^^
ca doit être le pied pour le download !
ceci dit, je regarde du streaming, je joue en réseau à des jeux "gourmand" comme bf3 / bf4, wargame, etc... pas de lag du tout.
C'est le PC qui gére la 3D.
Tout les jeux , c'est comme ça, le client gère sont propre environnement , d'ailleurs on ne peu même pas appeler cela du lag, car ton "serveur" positionne les joueurs environ toutes les secondes , la bande passante n'est même pas utilisé d'ailleurs , d'ou je dis que tu as mal programmé, je suis sur que si j'utilise un pc moins puissant, le jeu sautera moins. je ferais les tests ce soir sur un pc en carton pâte et je te dirais ce qu'il en est. D'ailleurs , tu dois être le seul au monde à faire un jeu multijoueur temps réel ou le serveur est un serveur sql :mrgreen:
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Re: Application 3D d'un moniteur à un autre

Message par cederavic »

Dobro a écrit :mais franchement, meme avec mon 8Mega , je lag des moments .. c'est dire
Le debit est beaucoup moins important que le temps de reponse dans un jeu multi "temps reel". Regarde ton activité reseaux quand tu jou a un tel jeu, je doute fortement que tu sois en train de DL a 1mo/s.

Pour ce qui est de laisser le client maitre de l'etat de jeu, c'est surement ce qu'il y a de pire a faire... Dans un jeu multi le serveur doit toujours etre "autoritaire". Normalement le serveur et les client font une simulation du monde de leur coter mais seul le serveur dit la vérité et les clients s'adaptent (je parle de la partie logique du jeu, pas graphique).

J'avais commencer il y a un ptit moment un truc dans ce genre, je jeterais un oeil a Tornado voir ce que ça donne :)
Répondre