CreateWater() et Sub System OpenGl

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 :

CreateWater() et Sub System OpenGl

Message par falsam »

Decidement je n'ai pas de chance avec le sous system OpenGL

La création de l'eau ne fonctionne pas si le sous system OpenGL est activé.

Le code test que j'utilise qui fonctionne bien sans le sous system OpenGL

Code : Tout sélectionner

EnableExplicit

Define Camera

InitEngine3D(#PB_Engine3D_DebugLog) 
InitSprite() 
InitKeyboard()

OpenWindow(0, 0, 0, 1024, 768, "Create Water", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0), 0, 0, 1024, 768, 0, 0, 0)

; On se sert des textures se trouvant dans le dossier d'installation de PureBasic
Add3DArchive(#PB_Compiler_Home + "Examples/3D/Data/Packs/desert.zip", #PB_3DArchive_Zip)
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Water/", #PB_3DArchive_FileSystem)
Parse3DScripts()  

Camera = CreateCamera(#PB_Any, 0, 0, 100, 100) 
MoveCamera(Camera, 0, 100, 200)
CameraLookAt(Camera, 0, 70, 0)

CreateLight(#PB_Any, RGB(255, 255, 255), 1000, 1000, -500)

SkyBox("desert07.jpg")

; Création de l'eau: #PB_Shadow_TextureModulative ou #PB_Shadow_TextureAdditive obligatoire 
WorldShadows(#PB_Shadow_TextureAdditive, 1024, RGB(150, 150, 150))

CreateWater(Camera, 0, -17.5, 0, 0, #PB_World_WaterLowQuality | #PB_World_WaterSmooth | #PB_World_WaterSun)

; Boucle evenementielle  
Repeat
  ExamineKeyboard()   
  RenderWorld()  
  FlipBuffers()
Until WindowEvent() = #PB_Event_CloseWindow Or KeyboardReleased(#PB_Key_Escape)
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: CreateWater() et Sub System OpenGl

Message par G-Rom »

pas de solution miracle pour le coup :
19:34:17: OGRE EXCEPTION(2:InvalidParametersException): Parameter called uWorld does not exist. in GpuProgramParameters::_findNamedConstantDefinition at OgreGpuProgramParams.cpp (line 1451)
traduction :

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

Re: CreateWater() et Sub System OpenGl

Message par falsam »

Merci pour ton implication G-Rom.

L'application finale fonctionnant sans le sous-system OpenGL, je crois que je vais continuer sans celui ci.
Il faudra installer DirectX9c end user pour que ça fonctionne sous Windows 10

J'ai vu une option de compilation avec le sous-system DirectX11 mais hélas c'est l'environnement 3D qui ne s'initialise pas !
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: CreateWater() et Sub System OpenGl

Message par G-Rom »

Mon point de vue est clair , j'avais eu un désaccord avec Fred à ce sujet , j'aurais voulu uniquement de l'opengl , l'utilisateur de PB s'en fou de directx, d'opengl , etc... c'est le résultat à l'écran qui compte.
opengl étant portable et à plus d'avenir que directx , y avais pas de doute sur l'implémentation à choisir.
ironiquement, toi qui te plaignait des dlls à coté des programmes .exe , là, faut installer un truc vieillot (dx9c) sur un pc next-gen... hahaha :).
A tout hasard , as tu essayé #PB_Engine3D_EnableCG avec InitEngine3D() ? il faut le toolkit de nvidia par contre...
Répondre