Sprite3DBlendingMode-TEST
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
Dagegen ist auch nichts zu sagen!dllfreak2001 hat geschrieben:Also mich interessiert das schon.
Wenn man viel mit Sprite3D umgeht möchte man auch wissen wie es auf den verschiedenen Plattformen aussieht.
HAtte auch mal so nen Tool geschrieben das allerdings nur reine rgb-werte in eine txt geschrieben hat.
Aber das ist wirklich cool
Aber es sollte die aktuelle PB4.0 sein.
Vieleicht stellt @STARGÅTE die PB Sourcen zur Verfügung?
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
von was denn jetzt ?
*verwirrt*
*verwirrt*
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Hier ist der angepasste CODE, damit ihr auch das bild habt ^^
PS: ich glaube ihr müsst einiges umschreiben damit es läuft ^^,
PS²: nicht wunder das da noch andere sachen dabei sind aber hatte vorher noch mehr Funktionen drin.
PS: ich glaube ihr müsst einiges umschreiben damit es läuft ^^,
PS²: nicht wunder das da noch andere sachen dabei sind aber hatte vorher noch mehr Funktionen drin.
Code: Alles auswählen
InitSprite()
InitSprite3D()
InitKeyboard()
OpenScreen(1280, 1024, 32, "GT")
Structure F
F.l
x.f
y.f
w.f
v.f
G.f
h.f
EndStructure
NewList F.F()
Procedure Feuer(F, x.f, y.f, w.f, v.f, G.f, h.f)
AddElement(F())
F()\F = F
F()\x = x
F()\y = y
F()\w = w
F()\v = v
F()\G = G
F()\h = h
EndProcedure
b.f = 3.14159265/180 ; Bogenmaß
CreateSprite(2, 128, 128, #PB_Sprite_Texture)
StartDrawing(SpriteOutput(2))
For n = 1 To 63
Circle(64,64,64-n, RGB(n*8/2,n*3/2,n/2))
Next n
StopDrawing()
CreateSprite3D(2, 2)
For m = 0 To 3
For n = 1 To 8 Step 1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n+2, m*85)
Next n
For n = 8 To 12 Step 2:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n+2, m*85)
Next n
For n = 12 To 8 Step -1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-5, m*85)
Next n
For n = 12 To 10 Step -1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-2, m*85)
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-2, m*85)
Next n
Next m
ClearScreen(64,64,64)
Start3D()
For xxx = 0 To 14
For yyy = 0 To 9
Sprite3DBlendingMode(xxx,yyy)
ResetList(F())
While NextElement(F())
ZoomSprite3D(F()\F, F()\G*2, F()\G*2)
DisplaySprite3D(F()\F, F()\x-F()\G+xxx*80, F()\y-F()\G+yyy*100, F()\h)
Wend
Next yyy
Next xxx
Stop3D()
StartDrawing(ScreenOutput())
For xxx = 0 To 14
For yyy = 0 To 9
DrawingMode(1|4)
Line(xxx*80, yyy*100, 80, 0, RGB(128,128,128))
Line(xxx*80, yyy*100, 0, 100, RGB(128,128,128))
Locate(xxx*80+2, yyy*100) : DrawText(Str(xxx)+" "+Str(yyy))
Next yyy
Next xxx
StopDrawing()
GrabSprite(1000,0,0,1200,1000)
SaveSprite(1000, "Grafiktest.bmp")
FlipBuffers()
Delay(2000)
End
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- dllfreak2001
- Beiträge: 2925
- Registriert: 07.09.2004 23:44
- Wohnort: Bayern
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
k.A. musst du den fragen der den CODE haben wollte 

PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
NaNaNa nicht gleich mit den Finger auf Unschuldige zeigen...
Denn:
1) Niemand muss sich die Sourcen ziehen.
2) Es gibt Bug-Reports zu diesen PB-Befehl (mindestens einer von mir)
3) Niemand hat STARGATE gezwungen die Sourcen offenzulegen.
In diesen Sinne... hier noch der angepasste PB4.0 SourceCode (Anpassungen nur soweit notwendig):
Und hier mein Ergebnis:

Denn:
1) Niemand muss sich die Sourcen ziehen.
2) Es gibt Bug-Reports zu diesen PB-Befehl (mindestens einer von mir)
3) Niemand hat STARGATE gezwungen die Sourcen offenzulegen.
In diesen Sinne... hier noch der angepasste PB4.0 SourceCode (Anpassungen nur soweit notwendig):
Code: Alles auswählen
InitSprite()
InitSprite3D()
InitKeyboard()
OpenScreen(1280, 1024, 32, "GT")
Structure F1
F.l
x.f
y.f
w.f
v.f
G.f
h.f
EndStructure
Global NewList F.F1()
Procedure Feuer(F, x.f, y.f, w.f, v.f, G.f, h.f)
AddElement(F())
F()\F = F
F()\x = x
F()\y = y
F()\w = w
F()\v = v
F()\G = G
F()\h = h
EndProcedure
b.f = 3.14159265/180 ; Bogenmaß
CreateSprite(2, 128, 128, #PB_Sprite_Texture)
StartDrawing(SpriteOutput(2))
For n = 1 To 63
Circle(64,64,64-n, RGB(n*8/2,n*3/2,n/2))
Next n
StopDrawing()
CreateSprite3D(2, 2)
For m = 0 To 3
For n = 1 To 8 Step 1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n+2, m*85)
Next n
For n = 8 To 12 Step 2:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n+2, m*85)
Next n
For n = 12 To 8 Step -1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-5, m*85)
Next n
For n = 12 To 10 Step -1:
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-2, m*85)
Feuer(2 , 10+m*20, 20+n*5, 0, 0, n-2, m*85)
Next n
Next m
ClearScreen($404040)
Start3D()
For xxx = 0 To 14
For yyy = 0 To 9
Sprite3DBlendingMode(xxx,yyy)
ResetList(F())
While NextElement(F())
ZoomSprite3D(F()\F, F()\G*2, F()\G*2)
DisplaySprite3D(F()\F, F()\x-F()\G+xxx*80, F()\y-F()\G+yyy*100, F()\h)
Wend
Next yyy
Next xxx
Stop3D()
StartDrawing(ScreenOutput())
For xxx = 0 To 14
For yyy = 0 To 9
DrawingMode(1|4)
Line(xxx*80, yyy*100, 80, 0, RGB(128,128,128))
Line(xxx*80, yyy*100, 0, 100, RGB(128,128,128))
DrawText(xxx*80+2, yyy*100, Str(xxx)+" "+Str(yyy))
Next yyy
Next xxx
StopDrawing()
GrabSprite(1000,0,0,1200,1000)
SaveSprite(1000, "C:\Grafiktest.bmp")
FlipBuffers()
Delay(2000)
End
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...