Bug vermutung in B3D
Übersicht

![]() |
Suco-XBetreff: Bug vermutung in B3D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute. Ich hatte vor in eine textur mit den normalen Grafikbefehlen wie Oval und rect und sowas zu malen. Klappen tuts auch, nur die schwarzen stellen sind dann nicht mehr unsichtbar. Daraufhin habe ich mal versucht ein image zu erstellen, darauf zu zeichnen und dann via CopyRect das gezeichnete auf die Textur zu bekommen. Dann ist aber alles unsichtbar, nur das schwarze nicht. Ist das nun ein Bug oder kann ich das doch noch irgendwie umgehen? Hier mal Code zum testen.
Code: [AUSKLAPPEN] Graphics3D 1024,768,16,2 camera = CreateCamera() PositionEntity camera,0,0,-5 CameraClsColor camera,200,200,200 textur = CreateTexture(100,100,4) image = CreateImage(100,100) SetBuffer ImageBuffer(image) Color 200,0,0 Oval 0,0,100,100 CopyRect(0,0,100,100, 12,12, ImageBuffer(image), TextureBuffer(textur)) FreeImage image cube = CreateCube() EntityTexture cube, textur SetBuffer BackBuffer() Repeat TurnEntity cube,0,.5,.5 RenderWorld UpdateWorld Flip Until KeyHit(1) bye |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
BigSnake |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sobald du mit irgendwelchen Zeichenbefehlen auf eine Textur malst geht deren Transparenz Information verloren. Der Bug ist bekannt und auf Direct 3d zurückzuführen | ||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist kein bug | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: und auf Direct 3d zurückzuführen
Genau, und wenn du nen Bluescreen verursachst is Microsoft auch dran schuld weil du nich richtig gecodet hast. ... |
||
![]() |
Cornelius |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit WritePixel(Fast) kann man auch die Alpha-Informationen verändern.
Du kannst z.B. am Anfang alles Tranzparent malen (Farbwert=0), und dann darauf mit Oval und Rect Sichtbares. |
||
![]() |
Suco-XBetreff: ...... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die informationen dürfen doch nicht einfach flöten gehen, was ist den das für ne schlamperrei? Naja, wens an Direct3D liegt und bekannt ist, wieso ist es dann noch nicht behoben? So abwägig ist die idee doch garnicht das man auf eine textur zeichnen will.
bye edit oh, sehe gerade deinen Thread Cornelius. Ich teste das mal Edit Nr.2 Ok, klappt so. Danke Cornelius. Thema erledigt. byr |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
RECT/Oval usw - setzen Alpha auf 255 - warum sollen diese Befehle alpha-setzung ignorrieren? | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
![]() |
Suco-XBetreff: ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmm...Folgender code klappt :
Code: [AUSKLAPPEN] Graphics3D 1024,768,16,2 camera = CreateCamera() PositionEntity camera,0,0,-5 CameraClsColor camera,110,110,110 textur = CreateTexture(128,128,4) LockBuffer TextureBuffer(textur) For x = 0 To 127 For y = 0 To 127 WritePixelFast x,y, CombineRGB(0,0,0), TextureBuffer(textur) Next Next UnlockBuffer TextureBuffer(textur) SetBuffer TextureBuffer(textur) Color 255,0,0 Oval 0,0,128,128 cube = CreateCube() EntityTexture cube, textur EntityFX cube,16 SetBuffer BackBuffer() Repeat TurnEntity cube,0,.5,.5 RenderWorld Flip Until KeyHit(1) Function CombineRGB(r,g,b) Return a*$1000000 + r*$10000 + g*$100 + b End Function Das sieht mir aber doch nach nem Bug aus. Den ich zeichne ja nachdem ich mit Alpha über die textur schreibe mit Oval auf die Textur. Also scheint so als wen B3D bei CreateTexture keine Alpha informationen erstellt. Aber wofür ist dann Flag 4 gut? bye |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
NOCHMAL unterschied zw. Alpha und Masked-Flag:
bei Alpha-Flag habt ihr 256-Alpha-Abstufungen bei masked habt ihr nur 2 abstufungen (sichtbar/unsichtbar) - dabei werden 0-127 als o und 128-255 als 255 angesehen Ich hatte früher ein problem das sprite mit textur und runden ecken sehr picelig bei masked war - hat mich 2 tage gekostet um herauszufinden, dass maked nur 2 zustände kennt - erst mit alpha sah es "antialiased" und perfekt aus (alpha-werte musste ich aber manuell setzen) |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
B3D hat auch einen Bug mit dem Laden von BSP und Camera, ist mir aber nur bei einem größeren Proj. aufgefallen, habe es gelösst, indem ich 2 Cameras erstellt habe und die 1. wieder gelöscht! | ||
between angels and insects |
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
das mit BSP kann ein bug sein - aber wenn es keiner meldet.... | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group