Problem mit Writepixelfast und Functions....
Übersicht

yrulBetreff: Problem mit Writepixelfast und Functions.... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich wollte einen neuen line Befehl , mit Writepixelfast, schreiben, da der existierende zu langsam war (Ich bezweifle allerdings, dass meiner schneller ist...)Bis jetzt sollte es nur ein rect zeichnen..
Problem:
![]() -die function wird nur einmal ausgeführt... (wahrscheindlich ein kleiner blöder Fehler...) Code: [AUSKLAPPEN] SetBuffer BackBuffer() Repeat Line1(10,10,100,100,255,255,255,255) Flip Until(KeyHit(1)) Function Line1(x,y,x1,y1,r,b,g,a) rgb=a*$1000000 + r*$10000 + g*$100 + b Image=CreateImage(Abs(x1-x),Abs(y1-y)) LockBuffer ImageBuffer(image) z=x-x1 For t=x To x1 For t=y To y1 WritePixelFast x+z,t,rgb UnlockBuffer ImageBuffer(image) Next Next SetBuffer BackBuffer() DrawImage image,x,y Print "Linie Gezeichnet ("+x+","+y+","+x1+","+y1+","+r+","+g+","+b+")" End Function Währe nett wenn Ihr mir helfen könntet... ![]() [/quote] |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau hab ich nich hingesehen, aber UnlockBuffer solltest du hinter die beiden verschachtelten for-schleifen verschieben... | ||
Starfare: Worklog, Website (download) |
yrul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ZaP hat Folgendes geschrieben: Genau hab ich nich hingesehen, aber UnlockBuffer solltest du hinter die beiden verschachtelten for-schleifen verschieben...
ooo ![]() ![]() |
||
yrul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
yrul hat Folgendes geschrieben: ZaP hat Folgendes geschrieben:
Genau hab ich nich hingesehen, aber UnlockBuffer solltest du hinter die beiden verschachtelten for-schleifen verschieben...
ooo ![]() ![]() Aber es funktioniert immer noch nicht.. |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kennst du den algo:
Code: [AUSKLAPPEN] Function Linie(x1, y1, x2, y2, r, g, b) farbe = r*$10000 + g*$100 + b dx = x2 - x1 dy = y2 - y1 If dx > 0 Then inc_x = 1 Else inc_x = -1 EndIf If dy > 0 Then inc_y = 1 Else inc_y = -1 EndIf If Abs(dy) < Abs(dx) Then error = -Abs(dx) delta = 2 * Abs(dy) schwelle = 2 * error While x1 <> x2 WritePixel x1, y1, farbe x1 = x1 + inc_x error = error + delta If error > 0 Then y1 = y1 + inc_y: error = error + schwelle Wend Else error = -Abs(dy) delta = 2 * Abs(dx) schwelle = 2 * error While y1 <> y2 WritePixel x1, y1, farbe y1 = y1 + inc_y error = error + delta If error > 0 x1 = x1 + inc_x: error = error + schwelle Wend EndIf WritePixel x2, y2, farbe End Function Bresenham-Algorythmus Den habe ich glaube ich im englischen forum gefunden |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der OH steht, dass Line![]() |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
yrul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hectic hat Folgendes geschrieben: In der OH steht, dass Line
![]() Gut zu wissen. Werde ich gerade ausprobieren... ![]() |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Dim FPS(3)
Graphics 800,600,32,2 SetBuffer BackBuffer() While Not KeyDown(1) GoLine() Text 9,9,"FPS:"+FPS(1):FPS(2)=FPS(2)+1:If MilliSecs()>FPS(3)+999 Then FPS(1)=FPS(2):FPS(2)=0:FPS(3)=MilliSecs() Flip 0 Cls Wend:End Function goline() ;LockBuffer () For X1= 50 To 750 Step 80 For x2= 50 To 750 Step 80 Line x1,50,x2,550 Next Next ;UnlockBuffer () End Function Habs mal ebend ausprobiert, 137 FPS ohne Lockbuffer 243 FPS mit Lockbuffer |
||
[BB2D | BB3D | BB+]
|
yrul |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Rallimen hat Folgendes geschrieben: 137 FPS ohne Lockbuffer 243 FPS mit Lockbuffer Und wieviele mit dem obenangegebenen Code? ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group