Excuse-moi, je ne voulais pas t'offenser. Mais comment peux-tu affirmer que le code fonctionne si tu ne vérifies pas? De visu? Il est quasiment impossible de distinguer deux pixels qui ont une différence sur une composante de 1/256.Dobro a écrit :il n'y avait plus la routine de verif, puisque je constatais de visudjes a écrit :Personne ne regarde les codes ici?Je serais curieux de savoir comment celui de Dobro fait la comparaison plot/point!
que le prg marchait en virant certaines partie "douteuse" de son code
G-rom donne une explication de ce qui se passais...
néanmoins le code que j'ai posté en dernier, fonctionne, et ne genere pas de bug chez moi
contrairement au code avant modif ...
il te suffisais donc de lancer mon code, pour Voir qu'il n'y avait plus de "bug"
d'où mon introduction :
c'est le Code de SPH qui bug , pas vos carte graphique !!![]()
[A tous] BUG GRAPHIQUE de "point(x,y)"
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
voici un exemple flagrant du problème :
Code : Tout sélectionner
colorA = RGB(1560248384,0,0)
colorB = RGBA(64,128,255,92)
If colorA = colorB
Debug "colorA = RGB(1560248384,0,0)"
Debug "colorB = RGBA(64,128,255,92)"
Debug ""
Debug "La couleur A est saturé en rouge à tel point"
Debug "quel est de la même couleur que la B ! ;)"
EndIf
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
ben j'ai une bonne vuedjes a écrit : Excuse-moi, je ne voulais pas t'offenser. Mais comment peux-tu affirmer que le code fonctionne si tu ne vérifies pas? De visu? Il est quasiment impossible de distinguer deux pixels qui ont une différence sur une composante de 1/256.

le prg de Sph fait ressortir des petites taches de couleur sombre dans la myriade de points dessinés, ces taches étaient présentes a gauche et a droite
ça me faisais des points de repère pour me rendre compte que la copie était parfaite chez moi

Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
Bon, passons. Est-ce que c'est un bug à votre avis? PB vérifie rarement les dépassements afin de rester rapide...
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
ce n'est pas un "bug" au sens propre du terme. comme tu le dis rgb() ne doit pas vérifier la valeur des composantes.
c'est un simple "bit shift" :
c'est un simple "bit shift" :
colorA = RGB(128,384,212)
colorB = 212 << 16 | 384 << 8 | 128
Debug ColorA
Debug ColorB
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
Si vous lancez un jeu et que vous lancez le code que j'ai fourni, le bug s'empire graaave.
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
Normalement, la valeur pourrait être masquée avec un ET logiqueG-Rom a écrit :ce n'est pas un "bug" au sens propre du terme. comme tu le dis rgb() ne doit pas vérifier la valeur des composantes.
c'est un simple "bit shift" :
colorA = RGB(128,384,212)
colorB = 212 << 16 | 384 << 8 | 128
Debug ColorA
Debug ColorB
Code : Tout sélectionner
Red = 128
Green = 384
Blue = 212
Color = ((Red & $FF) << 16) | ((Green & $FF) <<8 ) | (Blue & $FF)
Debug RSet(Hex(Color), 8, "0")
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
BOn, est ce possible de resumer le probleme pour les debutants ?
POINT (x,y) ne fonctionne aps correctement sur toutes les cartes graphiques ? C'est bien ça ? C'est donc un bug ?
Normalement cette fonction ne doit pas tenir compte de la carte graphique, cela doit etre transparent à mon avis ?
POINT (x,y) ne fonctionne aps correctement sur toutes les cartes graphiques ? C'est bien ça ? C'est donc un bug ?
Normalement cette fonction ne doit pas tenir compte de la carte graphique, cela doit etre transparent à mon avis ?
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
Y'a pas de bug, juste la fonction RGB() qui est un peu trop permissive.
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
J'attire l'attention sur un probleme qui en est vraiment un : quand je lance un jeu et que je fais le test, PB fait 99.89% d'erreurs de recopiage contre 21%. Si le bug du rgb n'est pas un probleme en soit, le fait de passer de 21% a 99% montre que PB bloque quelque part... (chez moi en tout cas mais faites le test avec un jeu lancé et on en reparle)djes a écrit :Y'a pas de bug, juste la fonction RGB() qui est un peu trop permissive.
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
Avec quel code? Je ne sais pas si tu as lu tout ce qu'on a dit depuis la dernière fois ; le premier code ne permet pas de tester correctement puisqu'il utilise la fonction RGB() en lui passant des paramètres qui débordent (qui dépassent la valeur 255 par composante).SPH a écrit :J'attire l'attention sur un probleme qui en est vraiment un : quand je lance un jeu et que je fais le test, PB fait 99.89% d'erreurs de recopiage contre 21%. Si le bug du rgb n'est pas un probleme en soit, le fait de passer de 21% a 99% montre que PB bloque quelque part... (chez moi en tout cas mais faites le test avec un jeu lancé et on en reparle)djes a écrit :Y'a pas de bug, juste la fonction RGB() qui est un peu trop permissive.
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
tu met le doigt sur le principal defaut de SPHdjes a écrit : Je ne sais pas si tu as lu tout ce qu'on a dit depuis la dernière fois ; .

Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
Avec le premier code.djes a écrit :Avec quel code? Je ne sais pas si tu as lu tout ce qu'on a dit depuis la dernière fois ; le premier code ne permet pas de tester correctement puisqu'il utilise la fonction RGB() en lui passant des paramètres qui débordent (qui dépassent la valeur 255 par composante).SPH a écrit :J'attire l'attention sur un probleme qui en est vraiment un : quand je lance un jeu et que je fais le test, PB fait 99.89% d'erreurs de recopiage contre 21%. Si le bug du rgb n'est pas un probleme en soit, le fait de passer de 21% a 99% montre que PB bloque quelque part... (chez moi en tout cas mais faites le test avec un jeu lancé et on en reparle)djes a écrit :Y'a pas de bug, juste la fonction RGB() qui est un peu trop permissive.
Si si, j'ai tout lu.
Mais pour ecarter un peu le bug du RGB, essaye ce code lorsqu'un jeu est lancé :
Code : Tout sélectionner
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; BUG GRAPHIQUE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
InitSprite()
InitKeyboard()
InitMouse()
#dw=1024
#dh=768
#dc=32
If OpenScreen(#dw,#dh,#dc,"Another Earth")=0
MessageRequester("Erreur", "Screen Open ("+Str(#dw)+","+Str(#dh)+",32) : impossible à ouvrir", 0) : End
EndIf
LoadFont(1, "Arial", 12)
StartDrawing(ScreenOutput())
Box(0,0,#dw/2,#dh,RGB(0,255,0))
Box(#dw/2,0,#dw/2,#dh,RGB(255,0,0))
Box(4,4,#dw/2-8,#dh-8,0)
Box(#dw/2+4,4,#dw/2-8,#dh-8,0)
DrawingMode(#PB_2DDrawing_Default)
DrawingFont(FontID(1))
DrawText(#dw/2+30,#dh-30,"WAIT...", RGB(255,255,255))
StopDrawing()
GrabSprite(0,0,0,#dw,#dh)
FlipBuffers()
DisplaySprite(0,0,0)
Dim p(#dw/2,#dh)
StartDrawing(ScreenOutput())
For u=4 To #dh-5
For i=4 To #dw/2-5
color.l=RGB(i,u,i+u)
Plot(i,u,color)
p(i,u)=color
Next
If u%8=0
StopDrawing()
GrabSprite(0,0,0,#dw,#dh)
FlipBuffers()
DisplaySprite(0,0,0)
StartDrawing(ScreenOutput())
EndIf
Next
StopDrawing()
percent=0
max=0
StartDrawing(ScreenOutput())
For u=4 To #dh-5
For i=4 To #dw/2-5
color=Point(i,u)
Plot(i+#dw/2,u,color)
max+1
If color<>p(i,u)
;Plot(i+#dw/2,u,RGB(255,255,255))
percent+1
EndIf
Next
If u%8=0
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Escape)
End
EndIf
StopDrawing()
GrabSprite(0,0,0,#dw,#dh)
FlipBuffers()
DisplaySprite(0,0,0)
StartDrawing(ScreenOutput())
EndIf
Next
StopDrawing()
LoadFont(1, "Arial", 9)
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Default)
DrawingFont(FontID(1))
;descrip$=" Si vous avez la meme chose dans le cadre vert et dans le cadre rouge, vous n'avez pas le bug graphique du ''Point(x,y)'' "
;DrawText(#dw/2-TextWidth(descrip$)/2,#dh-60,descrip$, RGB(255,255,255))
f.f=(percent*100)/max
If f=0
descrip$=" Aucun bug graphique du ''Point(x,y)'' "
Else
descrip$=" Le bug du ''Point(x,y)'' est présent à "+StrF(f.f)+"% "
EndIf
DrawText(#dw/2-TextWidth(descrip$)/2,#dh-36,descrip$, RGB(255,255,255))
StopDrawing()
;;;;;;;;;; si vous voulez sauvegarder votre image...
GrabSprite(0,0,0,#dw,#dh) : SaveSprite(0,"d:/test_gfx.bmp")
;;;;;;;;;;
FlipBuffers()
Repeat
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
End
;;;;;;;;;;;;;;;

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"

Tu vois bien que dans ton code
Code : Tout sélectionner
#dw=1024
#dh=768
#dc=32
Code : Tout sélectionner
color.l=RGB(i,u,i+u)
Code : Tout sélectionner
color.l = RGB(i & $FF, u & $FF, (i + u) & $FF)
Re: [A tous] BUG GRAPHIQUE de "point(x,y)"
NON, je ne depasse rien. La couleur maxi est de 383040 !
Tu ne veux pas de RGB, tres bien ! Remplace :par :
Et en tres grande logique, il est IMPOSSIBLE que cet eventuel "bug" fasse ce que je montre dans ma capture d'ecran ! Strictement IMPOSSIBLE
PS : ton color.l = RGB(i & $FF, u & $FF, (i + u) & $FF) ne change rien chez moi
Tu ne veux pas de RGB, tres bien ! Remplace :
Code : Tout sélectionner
color.l=RGB(i,u,i+u)
Code : Tout sélectionner
color.l=i+256*u+256*256*(i+u)
PS : ton color.l = RGB(i & $FF, u & $FF, (i + u) & $FF) ne change rien chez moi
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits