hab vor Ewigkeiten schonmal angefragt und erstmal herausgekriegt, daß das was ich machen wollte "Interpolieren" heißt.
Vielen Dank dafür mal...
Leider war das Projekt eingeschlafen und jetzt habe ich mal wieder ein wenig Zeit gefunden zu coden und stoße gleich wieder an meine Grenzen

Zum Hintergrund: Ich will ein Feld 16x16 interpoliert darstellen. (16x16-Klötzchen sehen scheiße aus

Schaut euch mal den Code an und sagt mir bitte, wie ich den schneller bekomme:
Code: Alles auswählen
Enumeration
#Window
#Button1
#Button2
#Button3
#Text1
#Sprite
#SpriteF0
#SpriteF1
#SpriteF2
#SpriteF3
#SpriteF4
#SpriteF5
#SpriteF6
#SpriteF7
#SpriteF8
#SpriteF9
#SpriteF10
#SpriteF11
#TIMER
EndEnumeration
Global Grenze0.w
Global Grenze1.w
Global Grenze2.w
Global Grenze3.w
Global Grenze4.w
Global Grenze5.w
Global Grenze6.w
Global Grenze7.w
Global Grenze8.w
Global Grenze9.w
Global Grenze10.w
Global Grenze11.w
Grenze0 = 50
Grenze1 = 70
Grenze2 = 110
Grenze3 = 130
Grenze4 = 160
Grenze5 = 180
Grenze6 = 190
Grenze7 = 200
Grenze8 = 210
Grenze9 = 220
Grenze10 = 230
Grenze11 = 240
Global Dim Farbe.l(11)
Farbe(0) = $0000FF
Farbe(1) = $0060E0
Farbe(2) = $0080E0
Farbe(3) = $00A0E0
Farbe(4) = $00C0E0
Farbe(5) = $00E0E0
Farbe(6) = $00E0A0
Farbe(7) = $00E040
Farbe(8) = $80E000
Farbe(9) = $C0C000
Farbe(10) = $C08000
Farbe(11) = $E8E8E8
;BGR
Global Grafikmodus.l = 0
Global Dim feldnormiert.w(16,16)
Global Dim feld_interpolierty1.w(16,32)
Global Dim feld_interpoliert1.w(32,32)
Global Dim feld2_interpolierty2.w(31,62)
Global Dim feld2_interpoliert2.w(62,62)
Global Dim feld3_interpolierty3.w(122,122)
Global Dim feld3_interpoliert3.w(122,122)
Global FP10S_Counter.w = 0
;********************Init Direct3D*****************************
Global XPos
Global addX
Global YPos
Global addY
Structure MyVertices
x1.f
y1.f
z1.f
rhw1.f
color1.l
diffuse1.l
x2.f
y2.f
z2.f
rhw2.f
color2.l
diffuse2.l
x3.f
y3.f
z3.f
rhw3.f
color3.l
diffuse3.l
x4.f
y4.f
z4.f
rhw4.f
color4.l
diffuse4.l
EndStructure
#D3DCLEAR_TARGET=1
#D3DFVF_XYZRHW=4
#D3DFVF_DIFFUSE=64
#D3DFVF_SPECULAR=128
#D3DPT_POINTLIST=1
#D3DPT_LINELIST=2
#D3DPT_TRIANGLELIST=4
#D3DPT_TRIANGLESTRIP=5
#D3DRENDERSTATE_CULLMODE=22
#D3DRENDERSTATE_DITHERENABLE=26
#D3DRENDERSTATE_SPECULARENABLE=29
#D3DRENDERSTATE_COLORKEYENABLE=41
#D3DRENDERSTATE_LIGHTING=137
#D3DCULL_NONE=1
#D3DCULL_CCW=3
Procedure Sprite3D_Start2DDrawing()
Global Sprite3D_Points.MyVertices
Global *D3DDevice.IDirect3DDevice7
Global TempSprite
!extrn _PB_Direct3D_Device
!MOV Eax,[_PB_Direct3D_Device]
!MOV [p_D3DDevice],Eax
Sprite3D_Points\rhw1=1.0
Sprite3D_Points\rhw2=1.0
Sprite3D_Points\rhw3=1.0
Sprite3D_Points\rhw4=1.0
*D3DDevice\SetRenderState(#D3DRENDERSTATE_COLORKEYENABLE,0) ; disables colorkey
*D3DDevice\SetRenderState(#D3DRENDERSTATE_SPECULARENABLE,1)
*D3DDevice\SetRenderState(#D3DRENDERSTATE_DITHERENABLE,1) ; enables dithering (improves the quality)
*D3DDevice\SetRenderState(#D3DRENDERSTATE_LIGHTING,0); deactivates lighting
*D3DDevice\SetRenderState(#D3DRENDERSTATE_CULLMODE,#D3DCULL_NONE); disables culling
CapsBuffer=AllocateMemory(228)
*D3DDevice\GetCaps(CapsBuffer)
minTextureWidth=PeekL(CapsBuffer+124)
minTextureHeight=PeekL(CapsBuffer+128)
FreeMemory(CapsBuffer)
TempSprite=CreateSprite(#PB_Any,minTextureWidth,minTextureHeight,#PB_Sprite_Texture)
If IsSprite(TempSprite)
*D3DDevice\SetTexture(0,PeekL(IsSprite(TempSprite)))
EndIf
EndProcedure
Procedure Sprite3D_Stop2DDrawing()
*D3DDevice\SetRenderState(#D3DRENDERSTATE_COLORKEYENABLE,1);enable colorkey
*D3DDevice\SetRenderState(#D3DRENDERSTATE_SPECULARENABLE,0)
*D3DDevice\SetRenderState(#D3DRENDERSTATE_DITHERENABLE,0)
*D3DDevice\SetRenderState(#D3DRENDERSTATE_LIGHTING,1); activate lighting
*D3DDevice\SetRenderState(#D3DRENDERSTATE_CULLMODE,#D3DCULL_CCW)
FreeSprite(TempSprite)
EndProcedure
Procedure Sprite3D_DrawLine2D(x1.f,y1.f,x2.f,y2.f,RGB1,RGB2)
Sprite3D_Points\x1=x1
Sprite3D_Points\y1=y1
Sprite3D_Points\diffuse1=RGB1>>16+(RGB1&$FF00)+(RGB1&$FF)<<16 ;convert RGB to BGR
Sprite3D_Points\x2=x2
Sprite3D_Points\y2=y2
Sprite3D_Points\diffuse2=RGB2>>16+(RGB2&$FF00)+(RGB2&$FF)<<16
ProcedureReturn *D3DDevice\DrawPrimitive(#D3DPT_LINELIST,#D3DFVF_XYZRHW|#D3DFVF_SPECULAR|#D3DFVF_DIFFUSE,@Sprite3D_Points,2,0)
EndProcedure
Procedure Sprite3D_ClearScreen(RGB)
*D3DDevice\Clear(0,0,#D3DCLEAR_TARGET,RGB>>16+(RGB&$FF00)+(RGB&$FF)<<16,0,0)
EndProcedure
Procedure Sprite3D_DrawTriangle2D(x1.f,y1.f,x2.f,y2.f,x3.f,y3.f,RGB1,RGB2,RGB3)
Sprite3D_Points\x1=x1
Sprite3D_Points\y1=y1
Sprite3D_Points\diffuse1=RGB1>>16+(RGB1&$FF00)+(RGB1&$FF)<<16
Sprite3D_Points\x2=x2
Sprite3D_Points\y2=y2
Sprite3D_Points\diffuse2=RGB2>>16+(RGB2&$FF00)+(RGB2&$FF)<<16
Sprite3D_Points\x3=x3
Sprite3D_Points\y3=y3
Sprite3D_Points\diffuse3=RGB3>>16+(RGB3&$FF00)+(RGB3&$FF)<<16
ProcedureReturn *D3DDevice\DrawPrimitive(#D3DPT_TRIANGLELIST,#D3DFVF_XYZRHW|#D3DFVF_SPECULAR|#D3DFVF_DIFFUSE,@Sprite3D_Points,3,0)
EndProcedure
Procedure Sprite3D_DrawBox2D(X.f,Y.f,Width.f,Height.f,RGB1,RGB2,RGB3,RGB4)
Sprite3D_Points\x1=X ;Pos_links_oben
Sprite3D_Points\y1=Y
Sprite3D_Points\diffuse1=RGB1>>16+(RGB1&$FF00)+(RGB1&$FF)<<16
Sprite3D_Points\x2=X+Width ;Pos_rechts_oben
Sprite3D_Points\y2=Y
Sprite3D_Points\diffuse2=RGB2>>16+(RGB2&$FF00)+(RGB2&$FF)<<16
Sprite3D_Points\x3=X ;Pos_links_unten
Sprite3D_Points\y3=Y+Height
Sprite3D_Points\diffuse3=RGB3>>16+(RGB3&$FF00)+(RGB3&$FF)<<16
Sprite3D_Points\x4=X+Width ;Pos_rechts_unten
Sprite3D_Points\y4=Y+Height
Sprite3D_Points\diffuse4=RGB4>>16+(RGB4&$FF00)+(RGB4&$FF)<<16
ProcedureReturn *D3DDevice\DrawPrimitive(#D3DPT_TRIANGLESTRIP,#D3DFVF_XYZRHW|#D3DFVF_SPECULAR|#D3DFVF_DIFFUSE,@Sprite3D_Points,4,0)
EndProcedure
;#D3DPT_TRIANGLESTRIP,
Procedure Sprite3D_DrawPixel2D(X.f,Y.f,RGB)
Sprite3D_Points\x1=X
Sprite3D_Points\y1=Y
Sprite3D_Points\diffuse1=RGB>>16+(RGB&$FF00)+(RGB&$FF)<<16
ProcedureReturn *D3DDevice\DrawPrimitive(#D3DPT_POINTLIST,#D3DFVF_XYZRHW|#D3DFVF_SPECULAR|#D3DFVF_DIFFUSE,@Sprite3D_Points,1,0)
EndProcedure
Procedure feld_zeichnen121x121()
FP10S_Counter + 1
If Grafikmodus = 1
StartDrawing(SpriteOutput(#Sprite))
For ky = 0 To 120
For kx = 0 To 120
If feld3_interpoliert3(ky,kx) = < Grenze1
Box(4*kx,4*ky,4,4,Farbe(11))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze2 And feld3_interpoliert3(ky,kx) >Grenze1
Box(4*kx,4*ky,4,4,Farbe(10))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze3 And feld3_interpoliert3(ky,kx) >Grenze2
Box(4*kx,4*ky,4,4,Farbe(9))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze4 And feld3_interpoliert3(ky,kx) >Grenze3
Box(4*kx,4*ky,4,4,Farbe(8))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze5 And feld3_interpoliert3(ky,kx) >Grenze4
Box(4*kx,4*ky,4,4,Farbe(7))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze6 And feld3_interpoliert3(ky,kx) >Grenze5
Box(4*kx,4*ky,4,4,Farbe(6))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze7 And feld3_interpoliert3(ky,kx) >Grenze6
Box(4*kx,4*ky,4,4,Farbe(5))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze4 And feld3_interpoliert3(ky,kx) >Grenze7
Box(4*kx,4*ky,4,4,Farbe(4))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze9 And feld3_interpoliert3(ky,kx) >Grenze4
Box(4*kx,4*ky,4,4,Farbe(3))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze10 And feld3_interpoliert3(ky,kx) >Grenze9
Box(4*kx,4*ky,4,4,Farbe(2))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze11 And feld3_interpoliert3(ky,kx) >Grenze10
Box(4*kx,4*ky,4,4,Farbe(1))
ElseIf feld3_interpoliert3(ky,kx) > Grenze11
Box(4*kx,4*ky,4,4,Farbe(0))
EndIf
Next
Next
StopDrawing()
FlipBuffers()
DisplaySprite(#Sprite,0,0)
;andere Methode
ElseIf Grafikmodus = 0
Start3D()
Sprite3D_Start2DDrawing()
For ky = 0 To 120
For kx = 0 To 120
If feld3_interpoliert3(ky,kx) = < Grenze1
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(11),Farbe(11),Farbe(11),Farbe(11))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze2 And feld3_interpoliert3(ky,kx) >Grenze1
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(10),Farbe(10),Farbe(10),Farbe(10))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze3 And feld3_interpoliert3(ky,kx) >Grenze2
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(9),Farbe(9),Farbe(9),Farbe(9))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze4 And feld3_interpoliert3(ky,kx) >Grenze3
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(8),Farbe(8),Farbe(8),Farbe(8))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze5 And feld3_interpoliert3(ky,kx) >Grenze4
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(7),Farbe(7),Farbe(7),Farbe(7))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze6 And feld3_interpoliert3(ky,kx) >Grenze5
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(6),Farbe(6),Farbe(6),Farbe(6))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze7 And feld3_interpoliert3(ky,kx) >Grenze6
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(5),Farbe(5),Farbe(5),Farbe(5))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze4 And feld3_interpoliert3(ky,kx) >Grenze7
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(4),Farbe(4),Farbe(4),Farbe(4))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze9 And feld3_interpoliert3(ky,kx) >Grenze4
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(3),Farbe(3),Farbe(3),Farbe(3))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze10 And feld3_interpoliert3(ky,kx) >Grenze9
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(2),Farbe(2),Farbe(2),Farbe(2))
ElseIf feld3_interpoliert3(ky,kx) =< Grenze11 And feld3_interpoliert3(ky,kx) >Grenze10
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(1),Farbe(1),Farbe(1),Farbe(1))
ElseIf feld3_interpoliert3(ky,kx) > Grenze11
Sprite3D_DrawBox2D(4*kx,4*ky,4,4,Farbe(0),Farbe(0),Farbe(0),Farbe(0))
EndIf
Next
Next
Sprite3D_Stop2DDrawing()
Stop3D()
;Grafikmodus Sprites
ElseIf Grafikmodus = 2
StartDrawing(SpriteOutput(#Sprite))
For ky = 0 To 120
For kx = 0 To 120
If feld3_interpoliert3(ky,kx) = < Grenze1
DisplaySprite(#SpriteF11,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze2 And feld3_interpoliert3(ky,kx) >Grenze1
DisplaySprite(#SpriteF10,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze3 And feld3_interpoliert3(ky,kx) >Grenze2
DisplaySprite(#SpriteF9,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze4 And feld3_interpoliert3(ky,kx) >Grenze3
DisplaySprite(#SpriteF8,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze5 And feld3_interpoliert3(ky,kx) >Grenze4
DisplaySprite(#SpriteF7,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze6 And feld3_interpoliert3(ky,kx) >Grenze5
DisplaySprite(#SpriteF6,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze7 And feld3_interpoliert3(ky,kx) >Grenze6
DisplaySprite(#SpriteF5,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze4 And feld3_interpoliert3(ky,kx) >Grenze7
DisplaySprite(#SpriteF4,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze9 And feld3_interpoliert3(ky,kx) >Grenze4
DisplaySprite(#SpriteF3,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze10 And feld3_interpoliert3(ky,kx) >Grenze9
DisplaySprite(#SpriteF2,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) =< Grenze11 And feld3_interpoliert3(ky,kx) >Grenze10
DisplaySprite(#SpriteF1,4*kx,4*ky)
ElseIf feld3_interpoliert3(ky,kx) > Grenze11
DisplaySprite(#SpriteF0,4*kx,4*ky)
EndIf
Next
Next
StopDrawing()
FlipBuffers()
Else
MessageRequester("Fehler","Selektierungsfehler Grafikmodus" ,0)
EndIf
FlipBuffers()
EndProcedure
;*************************************************************************************************
Procedure feld_interpolieren121x121()
m.w
m=0
;Auf 31x31
;Interpolieren entlang der x-Achse
For x = 0 To 15
For y = 0 To 15
feld_interpolierty1(x,m)=feldnormiert(x,y)
m=m+1
feld_interpolierty1(x,m)=(feldnormiert(x,y)+feldnormiert(x,y+1))/2
m=m+1
Next
feld_interpolierty1(x,m)=feldnormiert(x,15)
m=0
Next
;Interpolieren entlang der y-Achse
m=0
For y = 0 To 30
For x = 0 To 15
feld_interpoliert1(m,y)=feld_interpolierty1(x,y)
m=m+1
feld_interpoliert1(m,y)=(feld_interpolierty1(x,y)+feld_interpolierty1(x+1,y))/2
m=m+1
Next
feld_interpoliert1(m,y)=feld_interpolierty1(x,31)
m=0
Next
;Auf 61x61
;Interpolieren entlang der x-Achse
For x = 0 To 30
For y = 0 To 30
feld2_interpolierty2(x,m)=feld_interpoliert1(x,y)
m=m+1
feld2_interpolierty2(x,m)=(feld_interpoliert1(x,y)+feld_interpoliert1(x,y+1))/2
m=m+1
Next
feld2_interpolierty2(x,m)=feld_interpoliert1(x,30)
m=0
Next
;Interpolieren entlang der y-Achse
m=0
For y = 0 To 60
For x = 0 To 30
feld2_interpoliert2(m,y)=feld2_interpolierty2(x,y)
m=m+1
feld2_interpoliert2(m,y)=(feld2_interpolierty2(x,y)+feld2_interpolierty2(x+1,y))/2
m=m+1
Next
feld2_interpoliert2(m,y)=feld2_interpolierty2(x,31)
m=0
Next
;Auf 121x121
;Interpolieren entlang der x-Achse
For x = 0 To 60
For y = 0 To 60
feld3_interpolierty3(x,m)=feld2_interpoliert2(x,y)
m=m+1
feld3_interpolierty3(x,m)=(feld2_interpoliert2(x,y)+feld2_interpoliert2(x,y+1))/2
m=m+1
Next
feld3_interpolierty3(x,m)=feld2_interpoliert2(x,60)
m=0
Next
;Interpolieren entlang der y-Achse
m=0
For y = 0 To 120
For x = 0 To 60
feld3_interpoliert3(m,y)=feld3_interpolierty3(x,y)
m=m+1
feld3_interpoliert3(m,y)=(feld3_interpolierty3(x,y)+feld3_interpolierty3(x+1,y))/2
m=m+1
Next
feld3_interpoliert3(m,y)=feld3_interpolierty3(x,61)
m=0
Next
EndProcedure
Procedure feld_erstellen()
For x = 0 To 15
For y = 0 To 15
feldnormiert(x,y)=Random(300)
Next
Next
EndProcedure
;*************************************************************************************************
If InitSprite() = 0 Or InitKeyboard() = 0
MessageRequester("Error", "Can't open DirectX 7 or later", 0)
End
EndIf
InitSprite3D()
If OpenWindow(#Window,0,0,610,510,"Speed Test",#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
If CreateGadgetList(WindowID(#Window))
ButtonGadget(#Button1,540, 10,60,20,"Box")
ButtonGadget(#Button2,540, 40,60,20,"Sprite3D")
ButtonGadget(#Button3,540, 70,60,20,"SpriteResize")
TextGadget (#Text1,540,110,60,30,"")
EndIf
If OpenWindowedScreen(WindowID(#Window),5,5,484,484,0,0,0)
CreateSprite(#Sprite,484,484)
Else
MessageRequester("Error", "Can't open windowed screen!", 0)
End
EndIf
EndIf
;******************** Timer ***********************************
SetTimer_(WindowID(#Window), #TIMER, 1000, 0)
CreateSprite(#SpriteF0, 4, 4)
CreateSprite(#SpriteF1, 4, 4)
CreateSprite(#SpriteF2, 4, 4)
CreateSprite(#SpriteF3, 4, 4)
CreateSprite(#SpriteF4, 4, 4)
CreateSprite(#SpriteF5, 4, 4)
CreateSprite(#SpriteF6, 4, 4)
CreateSprite(#SpriteF7, 4, 4)
CreateSprite(#SpriteF8, 4, 4)
CreateSprite(#SpriteF9, 4, 4)
CreateSprite(#SpriteF10, 4, 4)
CreateSprite(#SpriteF11, 4, 4)
StartDrawing(SpriteOutput(#SpriteF0))
Box(0,0,4,4,Farbe(0))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF1))
Box(0,0,4,4,Farbe(1))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF2))
Box(0,0,4,4,Farbe(2))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF3))
Box(0,0,4,4,Farbe(3))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF4))
Box(0,0,4,4,Farbe(4))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF5))
Box(0,0,4,4,Farbe(5))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF6))
Box(0,0,4,4,Farbe(6))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF7))
Box(0,0,4,4,Farbe(7))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF8))
Box(0,0,4,4,Farbe(8))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF9))
Box(0,0,4,4,Farbe(9))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF10))
Box(0,0,4,4,Farbe(10))
StopDrawing()
StartDrawing(SpriteOutput(#SpriteF11))
Box(0,0,4,4,Farbe(11))
StopDrawing()
Repeat
Event.l = WindowEvent()
If Event = #PB_Event_Gadget
Gadget = EventGadget()
Select Gadget
Case #Button1
Grafikmodus = 1
SetGadgetText(#Text1,"Grafikmodus "+Str(Grafikmodus))
Case #Button2
Grafikmodus = 0
SetGadgetText(#Text1,"Grafikmodus "+Str(Grafikmodus))
Case #Button3
Grafikmodus = 2
SetGadgetText(#Text1,"Grafikmodus "+Str(Grafikmodus))
EndSelect
Else
If Event = #WM_TIMER And EventwParam()=#TIMER
SetGadgetText(#Text1, Str(FP10S_Counter))
FP10S_Counter = 0
EndIf
feld_erstellen()
feld_interpolieren121x121()
feld_zeichnen121x121()
Delay(1)
EndIf
Until Event = #PB_Event_CloseWindow
End
PS1: Ist wirklich ein Spitzenforum hier... Nur durch die Beantwortung der blödesten Fragen kann auch mir geholfen werden

PS2: Bitte gerne im Code rumspielen und uploaden. Hinweise wie ich etwas umsetzen soll sind zwar auch willkommen, aber vielleicht nicht immer vom Erfolg gekrönt...
