Dreiecksfläsche mit Textur füllen.
Übersicht

MatthiasBetreff: Dreiecksfläsche mit Textur füllen. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hay.
Also wie der Titel schon sagt möchte ich ein Dreieck füllen lassen. Allerdings mit einer (Textur). Ich habe schon im Forum gesucht. Habe zwar Themen gefunden in dem es im Algemeinen um Dreiecke füllen geht, aber nur mit einer Farbe. Ich würde mich sehr freuen wenn mir jemand bei diesem schwierigen Problem helfen könnte. Ich verzweifle bald. Code: [AUSKLAPPEN] Graphics 800,600,32,2 ;"------------Erstelle Copier-Bereich Image=CreateImage(100,100):SetBuffer ImageBuffer(Image) Color 150,0,0:Rect 0,0,100,100 Color 255,255,0:Rect 0,0,100,100,0 SetBuffer BackBuffer() PunktAX=100:PunktAY=100 PunktBX=200:PunktBY=50 PunktCX=100:PunktCY=150 ;Punkt Erstellen StX=100:StY=100;"Anzeige Position Repeat Cls DrawBlock Image,300,100 Wi=ATan2(PunktAX-PunktBX,PunktAY-PunktBY) Sn#=Sin(Wi) Co#=Cos(Wi) LockBuffer For IY=0 To 100 For IX=0 To 100 GetColor 300+IX,100+IY X=StX+Co*IX-Sn*IY Y=StY+Sn*IY+Co*IX CopyPixelFast 300+IX,100+IY,BackBuffer(),X,Y Next:Next UnlockBuffer FPSZa=FPSZa+1:Select MilliSecs()>FPSTimer+999:Case 1:FPSTimer=MilliSecs() FPS=FPSZa:FPSZa=0:End Select Color 255,255,255 ;Soll-Bereich-------- Line PunktAX,PunktAY,PunktBX,PunktBY Line PunktBX,PunktBY,PunktCX,PunktCY Line PunktCX,PunktCY,PunktAX,PunktAY Text 10,10,FPS Flip 0 Until KeyDown(1)=1 End |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Falls du Blitz3D hast - und das nehme ich stark an, wegen oilwar - würde ich das ganze mit Vertices und AddTriangles machen. Die würden nicht nur leichte Übergänge von Pixel zu Pixel aus der Quelltextur machen, sondern auch um einiges schneller sein. Mit VRAM (Mode 256) kann man die 'Schärfe' der Ausgabedarstelung noch erhöhen. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe Blitz3D. Und ich weiß auch wie mann mit Trinagles, usw umgeht. Aber in diesem Fall geht es mir um das Prinzip im algemeinen.
Wenn die Texturen auf den Mesh, schon fertig ist und nur noch angezeigt werden muß dann, ist Blitz3D schon echt schnell. Aber wenn ich was mit WritePixelFast in eine Texture screibe dann ist es obwohl mit Modus 256 immer noch langsammer als würde ich das in ein Images schreiben. Code: [AUSKLAPPEN] Img=CreateImage(1024,1024):Buff=ImageBuffer(Img) Print "Start":Zeit=MilliSecs() LockBuffer Buff:For ZX=0 To 1023:For ZY=0 To 1023 WritePixelFast ZX,ZY,-1,Buff:Next:Next:UnlockBuffer Buff Print MilliSecs()-Zeit;"----72ms--- Tex=CreateTexture(1024,1024,256):Buff=TextureBuffer(Tex) Print "Start":Zeit=MilliSecs() LockBuffer Buff:For ZX=0 To 1023:For ZY=0 To 1023 WritePixelFast ZX,ZY,-1,Buff:Next:Next:UnlockBuffer Buff Print MilliSecs()-Zeit;"----206ms Repeat:Until KeyDown(1)=1:End End Das problem ist also dardurch immer noch nicht gelöst. |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmm, ok. Vielleicht hilft dir das Blitz3D-Template 'texpaint' weiter. Da kann man mit der Maus auf die Textur eines Meshes rumzeichnen. Das geschieht direkt auf deren Triangles, auch kann man links/oben am Bildschirm die Form des aktuellen Triangles sehen und deren Mausposition. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Matthias |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Genau! Danke! Daran habe ich garnicht gedacht. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group