Frontcolor() Avec Zoomsprite3d(), scintillement du texte

Archive.
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Frontcolor() Avec Zoomsprite3d(), scintillement du texte

Message par comtois »

Je profite de l'ouverture du musée par Cederavic , pour recopier ici un bug .


Si je mets Frontcolor(0,0,0) , le texte scintille , par contre si je mets n'importe quelle autre valeur , ça passe bcp mieux

Code : Tout sélectionner

#ScreenWidth = 800 : #ScreenHeight = 600 : #ScreenDepth = 32
InitSprite() : InitKeyboard() :InitSprite3D() 
OpenScreen( #ScreenWidth , #ScreenHeight , #ScreenDepth , "Démo" ) 
FontComics12ID = LoadFont(1, "Comics", 12 ,#PB_Font_Bold )

CreateSprite(1,#ScreenWidth,#ScreenHeight,#PB_Sprite_Texture)
StartDrawing(SpriteOutput(1))
 Coul = 220 : Box(0,0,SpriteWidth(1),SpriteHeight(1),RGB(Coul,Coul,Coul))
 DrawingFont(FontComics12ID)

;/Ici Avec frontColor(0,0,0) ç a déconne !!
 FrontColor(0,0,0)
 DrawingMode(1)
 Texte$="Essai de texte , bien étrange !"
 Locate(55,55) : DrawText(Texte$)

;/ Ici dès que FrontColor() n'est plus à zéro , ça va déjà beaucoup mieux 
 FrontColor(0,1,0)
;DrawingMode(1)
 Texte$="Essai de texte , bien normal !"
 Locate(55,75) : DrawText(Texte$)

StopDrawing()

CreateSprite3D(1,1) 

Repeat
   ;ClearScreen(200,200,200)
   Start3D()
   DisplaySprite3D(1,0,0)
   ZoomSprite3D(1,#ScreenWidth,#ScreenHeight)
   Stop3D()
   FlipBuffers()   
   ExamineKeyboard()
Until KeyboardPushed(#PB_Key_All)
T€r$@k€n
Messages : 42
Inscription : ven. 23/janv./2004 18:49

Message par T€r$@k€n »

Je n'ai pas ce " Bug ".
Je tourne sur window xp home edition; je ne sais pas si cela pourrait venir de ta carte graphique, mais je donne la mienne; " GeForce Fx 5600 ".
Voilà :wink:
Image
_______________________________________
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

sur l'ancien forum , Chris avait suggéré de faire dans la boucle

Code : Tout sélectionner

ZoomSprite3D(1,#ScreenWidth*4,#ScreenHeight*4)
et d'ajouter un delay(400) après le flipbuffer() , et c'est encore plus flagrant , tu peux faire l'essai à nouveau ?
T€r$@k€n
Messages : 42
Inscription : ven. 23/janv./2004 18:49

Message par T€r$@k€n »

Ah Oui !
En effet, j'aperçoit Maintenant le Bug ! :(
Image
_______________________________________
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Apparemment, c'est parsque la frontcolor et la couleur transparente du sprite sont identiques.
Si tu change la couleur transp du sprite, ça scintille plus... sauf si tu change aussi la frontcolor à la même valeur.

En général, quand il y a des petits trous de transparences dans la partie non-transparente d'un sprite3D, ça rend pas très bien.
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Fred
Site Admin
Messages : 2808
Inscription : mer. 21/janv./2004 11:03

Message par Fred »

Je suis retombé sur ce bug et apparement c'est parce que le texte est anti-aliasé, donc dans le 1er cas, la couleur de transparence etant le noir, y'a juste les parties anti aliasées qui s'affiche (d'ou l'effet etrange).
Répondre