j'ai fais un petit code pour trouver le probleme avec les shader opengl
- dans les options de compilation : mettez 'opengl' dans le champ "Bibliotheque sous systeme"
- ligne 99 : mettez le chemin du dossier MaterialScriptsGeneric-2 de la démo paysage-v6
et postez moi le fichier Ogre.log
merci d'avance
Code : Tout sélectionner
Structure f3
  x.f
  y.f
  z.f
EndStructure
Procedure.f lng3D(*v.f3)
  ProcedureReturn Sqr(*V\x * *V\x + *V\y * *V\y + *V\z * *V\z)
EndProcedure
Procedure Norme3D(*V.f3,l.f=1)
  Protected.f lm = l / lng3d(*v)
  *V\x * lm
  *V\y * lm
  *V\z * lm
EndProcedure
Procedure.i textureArray2NM(texture,Array hm.l(2),amplitude.f)
  Protected i,j,n,dx,dy,h00,h10,h01
  Protected.f x,y,z,l, max=255/amplitude,max2=max*max
  Protected.f3 p
  dx=ArraySize(hm(),2)+1
  dy=ArraySize(hm(),1)+1
  Dim bmp.l(dy-1,dx-1)
  For j=0 To dy-1
    For i=0 To dx-1
      h00=hm(j,i)
      h10=hm(j,(i+1) % dx)
      h01=hm((j+1) % dy,i)
      p\x=h00-h10
      p\y=h00-h01
      l=p\x*p\x+p\y*p\y:If l>max2:l=max2:EndIf
      p\z=Sqr(max2-l)
      Norme3D(p,127)
      bmp(j,i)=RGBA(p\z+128,p\y+128,p\x+128,255)
    Next
  Next
  n=CreateTexture(texture,dx,dy):If texture=-1:texture=n:EndIf
  StartDrawing(TextureOutput(texture)):CopyMemory(@bmp(0,0),DrawingBuffer(),dx*dy*4):StopDrawing()
  ProcedureReturn texture
EndProcedure
Procedure.i textureHM2NM(imgNM,imgHM,amplitude.f)
  Protected i,j,dx,dy,c
  StartDrawing(TextureOutput(imgHM))
  dx=OutputWidth()
  dy=OutputHeight()
  Dim hm.l(dy-1,dx-1)
  Dim bmp.l(dy-1,dx-1)
  CopyMemory(DrawingBuffer(),@bmp(0,0),dx*dy*4)
  StopDrawing()
  For j=0 To dy-1
    For i=0 To dx-1
      c=bmp(j,i)
      hm(j,i)=Red(c)+Green(c)+Blue(c)
    Next
  Next
  ProcedureReturn textureArray2NM(imgNM,hm(),amplitude/3)
EndProcedure
Procedure mesh_samples(num)
  Protected i,j,n=32
  Protected.f ai,aj,r
  Dim t.PB_MeshVertex(n,n)
 
  For j=0 To n
    For i=0 To n
      With t(i,j) 
        ai=i/n*2*#PI
        aj=j/n*#PI
        r=Sin(aj)
        \x=-Cos(ai)*r
        \z=Sin(ai)*r
        \y=Cos(aj)
        \u=i/32
        \v=j/32
        \color=$ffffffff        ;<---  !!!   required To use these shaders !!!
      EndWith
    Next
  Next
  CreateDataMesh(num,t())
  NormalizeMesh(num)
EndProcedure
Define i, a.f
InitEngine3D(#PB_Engine3D_DebugLog):InitSprite():InitKeyboard():InitMouse()
ExamineDesktops()
ex=DesktopWidth (0)
ey=DesktopHeight(0)
OpenWindow(0, 0,0, ex,ey, "Test shader OpenGL -  [Esc] quit",#PB_Window_Maximize)
OpenWindowedScreen(WindowID(0), 0, 0, ex, ey, 0, 0, 0)
; >>>>>>>>>>> mettre ici le chemin du dossier MaterialScriptsGeneric-2 <<<<<<<<<<<
Add3DArchive(...\MaterialScriptsGeneric-2", #PB_3DArchive_FileSystem )
Add3DArchive(#PB_Compiler_Home + "examples/3d/Data/Textures", #PB_3DArchive_FileSystem)
Parse3DScripts()
;--------------------------------------- scene ---------------------------------------
CreateCamera(0, 0, 0, 100, 100):MoveCamera(0,0,4,-2):CameraLookAt(0,0,0,0)
CreateLight(0, $ffffff, 0, 4, 0):SetLightColor(0,#PB_Light_SpecularColor, $ffffff)
AmbientColor($222222)
Fog($ffffff,1,10000,10001);     <---  !!!   required to use these shaders !!!
mesh_samples(0)
BuildMeshTangents(0)
LoadTexture(0,"MRAMOR6X6.jpg")
textureHM2NM(1,0,8)
GetScriptMaterial(0,"bump")
MaterialTextureAliases(0,TextureID(0),TextureID(1),0,0)
SetMaterialColor(0,#PB_Material_SpecularColor,$ffffff)
SetMaterialColor(0,#PB_Material_DiffuseColor,$ff)
MaterialShininess(0,64)
MaterialFilteringMode(i,#PB_Material_Anisotropic,4)
CreateEntity(0,MeshID(0),MaterialID(0))
Repeat
    While WindowEvent():Wend
    ExamineMouse()
    ExamineKeyboard()
    a+0.005
    RotateEntity(0,0.2,0.3,0.5,#PB_Relative)
    RenderWorld()
    FlipBuffers()   
Until MouseButton(#PB_MouseButton_Left) Or KeyboardReleased(#PB_Key_Escape)

 Question bête mais on le trouve ou ce fichier Ogre.log ? Car j'ai lancer ton code je vois une sphere rouge a damier qui tourne, mais aucun fichier nulle part une fois echap.
 Question bête mais on le trouve ou ce fichier Ogre.log ? Car j'ai lancer ton code je vois une sphere rouge a damier qui tourne, mais aucun fichier nulle part une fois echap. 
  wouah c'est hyper joli. Bravo en effet le résultat est top
 wouah c'est hyper joli. Bravo en effet le résultat est top  Chapeau Guillot
 Chapeau Guillot Tes exemples sont toujours aux top.
 Tes exemples sont toujours aux top.