komischer texturfehler

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Wild-Storm

Betreff: komischer texturfehler

BeitragMi, Feb 02, 2005 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, also eigentlich müsste bei dem folgendem code die textur immer gleichhell sein. allerdings wechselt sie immer von hell zu dunkel.
schauts euch mal an (das komische, bei Graphics3d 1024,768,32,2 gibt es diesen fehler nicht....)

Code: [AUSKLAPPEN]

Graphics3D 800,600,32,2
 scenecam = CreateCamera()
 camzoom = 1.0
 
 tex2 = CreateTexture(1024,1024,2)
 texsize = TextureWidth(tex2)
 texbuffer = TextureBuffer(tex2)
 LockBuffer(texbuffer)
 a = 0
 r = 0
 g = 0
 b = 0
 argb = a*$1000000 + r*$10000 + g*$100 + b
 For x = 0 To texsize - 1
  For y = 0 To texsize - 1
   WritePixelFast x,y,argb,texbuffer
  Next 
 Next 
 UnlockBuffer(texbuffer)
 a = 150
 r = 0
 g = 255
 b = 0
 LockBuffer(texbuffer)
 argb = a*$1000000 + r*$10000 + g*$100 + b
 For x = 0 To texsize - 1
  For y = 0 To texsize - 1 Step 9
    WritePixelFast x,y,argb,texbuffer
  Next 
 Next 
 UnlockBuffer(texbuffer)
 sprite_lines = CreateSprite()
 EntityTexture sprite_lines,tex2,0,0
 ScaleSprite sprite_lines,2*(1.0/camzoom),2*(1.0/camzoom)
 PositionEntity sprite_lines,EntityX(scenecam),EntityY(scenecam),EntityZ(scenecam)+2
 EntityParent sprite_lines,scenecam
 EntityOrder sprite_lines,-998
 EntityFX sprite_lines,1
 
 Repeat
  RenderWorld
  Flip 
 Until KeyDown(1)
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

INpac

BeitragMi, Feb 02, 2005 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
nicht ausprobiert, aber du kannst in b3d anscheinend nicht so einfach texturen erstellen, die größer als die auflösung sind.. Smile bzw du kannst nicht über den teil malen, der "größer als der bildschrim ist"

Wild-Storm

BeitragMi, Feb 02, 2005 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
naja, mit 256/512 gehts aber auch nicht Sad
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

Klaas

BeitragMi, Feb 02, 2005 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
iCh würde sagen das liegt daran das die Textur auf dem Sprite "verkleinert" wird und dadurch gibt es Darstellungsprobleme weil die GraKa das wohl weniger genau macht.

Wenn man andere Step-Werte in der Zeile
For y = 0 To texsize - 1 Step 9 ;12 oder 15 etc.

dann entstehen andere Muster

Thoem

BeitragMi, Feb 02, 2005 19:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier haben wir es mit einem sogenannten Moire-Effekt zu tun. Die Textur ist höher auflösend als die ausgegebene Rastergrafik. dadurch verschwinden manche Pixelzeilen "zwischen" den Bildzeilen. Der Rechner scheint "halb-sichtbare" Pixelzeilen zu interpolieren, dadurch entstehen diese Hell-Dunklen Bereiche.

Bau die Hauptschleife mal so um, dann siehst Du was ich meine.

Code: [AUSKLAPPEN]

 fa#=0
 Repeat
   fa=fa+0.1
   RotateSprite sprite_lines,fa
  RenderWorld
  Flip 
 Until KeyDown(1)
Thoem...

Wild-Storm

BeitragMi, Feb 02, 2005 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hm. jo.
gibt es ne möglichkeit das zu verhindern? ehernicht oder?
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

Klaas

BeitragMi, Feb 02, 2005 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Thoem hats gut erklärt.

Du solltest die Größe des Sprites bzw. der Textur der Bildschirmauflösung angleichen

Wild-Storm

BeitragMi, Feb 02, 2005 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
wie schon gesagt. egal welche auflösung ich für die textur benutze, dieser fehler tritt immer wieder auf
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

Klaas

BeitragMi, Feb 02, 2005 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
man kann es brechnen das ein Texel (Textur-Pixel) genau ein pixel aufm Screen groß ist.

Schau mal im englichen Forum nach Pixelperfect

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group