Alte Version von Draw3D

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

dont_know_to_use

Betreff: Alte Version von Draw3D

BeitragDi, Feb 22, 2011 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey, ich kann mit der Forensuche nicht die erste Version von Draw3D finden. Ich wollte sie gerne nach FreeBasic übersetzen, damit ich es für meinen Informatikunterricht verwenden kann.

Also gleich 2 Fragen:
-Darf ich Draw3D nach FreeBasic übersetzen, wenn ich Credits angebe?
-Wo finde ich die alte Draw3D Version 1.0 ?

ToeB

BeitragDi, Feb 22, 2011 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Schreib doch hectic direkt an ... ?
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

dont_know_to_use

BeitragDi, Feb 22, 2011 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Er war länger nicht hier und ich hielt es für das Beste, wenn ich gleich den Rest der Community frage. Wink

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Feb 23, 2011 1:59
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.hectic.de/data/Draw3D.V.2.0.rar
http://www.hectic.de/data/Draw3D.V.2.1.rar
http://www.hectic.de/data/Draw3D.V.2.11.rar
http://www.hectic.de/data/Draw3D.V.2.12.rar
http://www.hectic.de/data/Draw3D.V.3.0.rar
http://www.hectic.de/data/Draw3D.V.3.1.rar
http://www.hectic.de/data/Draw3D.V.3.2.rar
http://www.hectic.de/data/Draw3D2.V.1.0.rar
http://www.hectic.de/data/Draw3D2.V.1.1.rar

Die oberste Draw3D V.2.0 ist fehlerhaft. Und die ganz alte V.1.0 kann nur native Befehle, und ist wie ich finde nicht so schön umgesetzt:

Draw3D V.1.0 Code: [AUSKLAPPEN]
;Draw3D-Variablen
Global draw_fr%=255 ;Rot
Global draw_fg%=255 ;Grün
Global draw_fb%=255 ;Blau
Global draw_fa#=1 ;Alpha
Global draw_br%=2 ;Breite
Global draw_brush=CreateBrush()
Global draw_pivot=CreatePivot(camera)
Global draw_mesh=CreateMesh(draw_pivot)
Global draw_txtre=CreateTexture(2,2,3)
WritePixel 0,0,$00ffffff,TextureBuffer(draw_txtre)
WritePixel 1,0,$ffffffff,TextureBuffer(draw_txtre)
WritePixel 0,1,$00ffffff,TextureBuffer(draw_txtre)
WritePixel 1,1,$00ffffff,TextureBuffer(draw_txtre)
ScaleTexture draw_txtre,2,2
BrushTexture draw_brush,draw_txtre
Global draw_face=CreateSurface(draw_mesh,draw_brush)
PositionEntity draw_pivot,0,0,GraphicsWidth()/2
EntityOrder draw_mesh,-102
FreeTexture draw_txtre
EntityFX draw_mesh,19




;Clear-Funktion
Function Clear3D()
 ClearSurface draw_face
End Function




;Origin-Funktion
Function OriginMode3D(f_draw_md)
 If f_draw_md=1 RotateEntity draw_pivot,180,0,0:PositionEntity draw_pivot,-GraphicsWidth()/2,GraphicsHeight()/2,GraphicsWidth()/2
 If f_draw_md=0 RotateEntity draw_pivot,0,0,0:PositionEntity draw_pivot,0,0,GraphicsWidth()/2
End Function




;Set-Color-Funktion
Function Color3D(f_draw_fr,f_draw_fg,f_draw_fb,f_draw_fa#,f_draw_br)
 draw_fr=f_draw_fr ;Rot
 draw_fg=f_draw_fg ;Grün
 draw_fb=f_draw_fb ;Blau
 draw_fa=f_draw_fa ;Alpha
 draw_br=f_draw_br ;Breite
End Function




;Set-Plot-Funktion
Function Plot3D(f_draw_x1,f_draw_y1)
 draw_v0=AddVertex(draw_face,f_draw_x1-draw_br,f_draw_y1+draw_br,0, 0.5,1.5)
 draw_v1=AddVertex(draw_face,f_draw_x1+draw_br,f_draw_y1+draw_br,0, 2.5,1.5)
 draw_v2=AddVertex(draw_face,f_draw_x1+draw_br,f_draw_y1-draw_br,0, 2.5,3.5)
 draw_v3=AddVertex(draw_face,f_draw_x1-draw_br,f_draw_y1-draw_br,0, 0.5,3.5)
 VertexColor draw_face,draw_v0,draw_fr,draw_fg,draw_fb,draw_fa
 VertexColor draw_face,draw_v1,draw_fr,draw_fg,draw_fb,draw_fa
 VertexColor draw_face,draw_v2,draw_fr,draw_fg,draw_fb,draw_fa
 VertexColor draw_face,draw_v3,draw_fr,draw_fg,draw_fb,draw_fa
 VertexNormal draw_face,draw_v0,0,0,-1
 VertexNormal draw_face,draw_v1,0,0,-1
 VertexNormal draw_face,draw_v2,0,0,-1
 VertexNormal draw_face,draw_v3,0,0,-1
 AddTriangle(draw_face,draw_v0,draw_v1,draw_v2)
 AddTriangle(draw_face,draw_v2,draw_v3,draw_v0)
End Function




;Set-Line-Funktion
Function Line3D(f_draw_x1,f_draw_y1,f_draw_x2,f_draw_y2)
 If f_draw_x1<>f_draw_x2 Or f_draw_y1<>f_draw_y2
  TFormNormal f_draw_x2-f_draw_x1,f_draw_y2-f_draw_y1,0,0,0
  draw_v0=AddVertex(draw_face,f_draw_x1+TFormedY()*draw_br,f_draw_y1-TFormedX()*draw_br,0, 0.5,0.5)
  draw_v1=AddVertex(draw_face,f_draw_x1-TFormedY()*draw_br,f_draw_y1+TFormedX()*draw_br,0, 2.5,0.5)
  draw_v2=AddVertex(draw_face,f_draw_x2-TFormedY()*draw_br,f_draw_y2+TFormedX()*draw_br,0, 2.5,0.5)
  draw_v3=AddVertex(draw_face,f_draw_x2+TFormedY()*draw_br,f_draw_y2-TFormedX()*draw_br,0, 0.5,0.5)
  VertexColor draw_face,draw_v0,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v1,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v2,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v3,draw_fr,draw_fg,draw_fb,draw_fa
  VertexNormal draw_face,draw_v0,0,0,-1
  VertexNormal draw_face,draw_v1,0,0,-1
  VertexNormal draw_face,draw_v2,0,0,-1
  VertexNormal draw_face,draw_v3,0,0,-1
  AddTriangle(draw_face,draw_v0,draw_v1,draw_v2)
  AddTriangle(draw_face,draw_v2,draw_v3,draw_v0)
 End If
End Function




;Set-Oval-Funktion
Function Oval3D(f_draw_x1,f_draw_y1,f_draw_x2,f_draw_y2,f_draw_fl)
 f_draw_x2=Abs(f_draw_x2)
 f_draw_y2=Abs(f_draw_y2)
 If f_draw_fl=0
  draw_sq#=2+Int((f_draw_x2+f_draw_y2)/120)
  If draw_sq>7 draw_sq=7
  draw_wk#=90.0/draw_sq
  For draw_qv=1 To draw_sq*4
   draw_v0=AddVertex(draw_face,f_draw_x1+Cos(draw_qv*draw_wk)*(f_draw_x2-draw_br),f_draw_y1+Sin(draw_qv*draw_wk)*(f_draw_y2-draw_br),0, 0.5,0.5)
   draw_v1=AddVertex(draw_face,f_draw_x1+Cos(draw_qv*draw_wk)*(f_draw_x2+draw_br),f_draw_y1+Sin(draw_qv*draw_wk)*(f_draw_y2+draw_br),0, 2.5,0.5)
   draw_v2=AddVertex(draw_face,f_draw_x1+Cos(draw_wk+draw_qv*draw_wk)*(f_draw_x2-draw_br),f_draw_y1+Sin(draw_wk+draw_qv*draw_wk)*(f_draw_y2-draw_br),0, 0.5,0.5)
   draw_v3=AddVertex(draw_face,f_draw_x1+Cos(draw_wk+draw_qv*draw_wk)*(f_draw_x2+draw_br),f_draw_y1+Sin(draw_wk+draw_qv*draw_wk)*(f_draw_y2+draw_br),0, 2.5,0.5)
   VertexColor draw_face,draw_v0,draw_fr,draw_fg,draw_fb,draw_fa
   VertexColor draw_face,draw_v1,draw_fr,draw_fg,draw_fb,draw_fa
   VertexColor draw_face,draw_v2,draw_fr,draw_fg,draw_fb,draw_fa
   VertexColor draw_face,draw_v3,draw_fr,draw_fg,draw_fb,draw_fa
   VertexNormal draw_face,draw_v0,0,0,-1
   VertexNormal draw_face,draw_v1,0,0,-1
   VertexNormal draw_face,draw_v2,0,0,-1
   VertexNormal draw_face,draw_v3,0,0,-1
   AddTriangle(draw_face,draw_v0,draw_v2,draw_v3)
   AddTriangle(draw_face,draw_v3,draw_v1,draw_v0)
  Next
 Else
  draw_sq#=2+Int((f_draw_x2+f_draw_y2)/80)
  If draw_sq>8 draw_sq=8
  draw_wk#=90.0/draw_sq
  draw_v0=AddVertex(draw_face,f_draw_x1,f_draw_y1,0, 1.5,0.5)
  VertexColor draw_face,draw_v0,draw_fr,draw_fg,draw_fb,draw_fa
  VertexNormal draw_face,draw_v0,0,0,-1
  For draw_qv=1 To draw_sq*4
   draw_v1=AddVertex(draw_face,f_draw_x1+Cos(draw_qv*draw_wk)*f_draw_x2,f_draw_y1+Sin(draw_qv*draw_wk)*f_draw_y2,0, 1.5,0.5)
   draw_v2=AddVertex(draw_face,f_draw_x1+Cos(draw_wk+draw_qv*draw_wk)*f_draw_x2,f_draw_y1+Sin(draw_wk+draw_qv*draw_wk)*f_draw_y2,0, 1.5,0.5)
   VertexColor draw_face,draw_v1,draw_fr,draw_fg,draw_fb,draw_fa
   VertexColor draw_face,draw_v2,draw_fr,draw_fg,draw_fb,draw_fa
   VertexNormal draw_face,draw_v1,0,0,-1
   VertexNormal draw_face,draw_v2,0,0,-1
   AddTriangle(draw_face,draw_v0,draw_v2,draw_v1)
  Next
 End If
End Function




;Set-Rect-Funktion
Function Rect3D(f_draw_x1,f_draw_y1,f_draw_x2,f_draw_y2,f_draw_fl)
 f_draw_x2=Abs(f_draw_x2)
 f_draw_y2=Abs(f_draw_y2)
 If f_draw_fl=0
  draw_v0=AddVertex(draw_face,f_draw_x1-f_draw_x2-draw_br,f_draw_y1+f_draw_y2+draw_br,0, 0.5,0.5)
  draw_v1=AddVertex(draw_face,f_draw_x1+f_draw_x2+draw_br,f_draw_y1+f_draw_y2+draw_br,0, 0.5,0.5)
  draw_v2=AddVertex(draw_face,f_draw_x1+f_draw_x2+draw_br,f_draw_y1-f_draw_y2-draw_br,0, 0.5,0.5)
  draw_v3=AddVertex(draw_face,f_draw_x1-f_draw_x2-draw_br,f_draw_y1-f_draw_y2-draw_br,0, 0.5,0.5)
  draw_v4=AddVertex(draw_face,f_draw_x1-f_draw_x2+draw_br,f_draw_y1+f_draw_y2-draw_br,0, 2.5,0.5)
  draw_v5=AddVertex(draw_face,f_draw_x1+f_draw_x2-draw_br,f_draw_y1+f_draw_y2-draw_br,0, 2.5,0.5)
  draw_v6=AddVertex(draw_face,f_draw_x1+f_draw_x2-draw_br,f_draw_y1-f_draw_y2+draw_br,0, 2.5,0.5)
  draw_v7=AddVertex(draw_face,f_draw_x1-f_draw_x2+draw_br,f_draw_y1-f_draw_y2+draw_br,0, 2.5,0.5)
  VertexColor draw_face,draw_v0,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v1,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v2,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v3,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v4,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v5,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v6,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v7,draw_fr,draw_fg,draw_fb,draw_fa
  VertexNormal draw_face,draw_v0,0,0,-1
  VertexNormal draw_face,draw_v1,0,0,-1
  VertexNormal draw_face,draw_v2,0,0,-1
  VertexNormal draw_face,draw_v3,0,0,-1
  VertexNormal draw_face,draw_v4,0,0,-1
  VertexNormal draw_face,draw_v5,0,0,-1
  VertexNormal draw_face,draw_v6,0,0,-1
  VertexNormal draw_face,draw_v7,0,0,-1
  AddTriangle(draw_face,draw_v0,draw_v1,draw_v5)
  AddTriangle(draw_face,draw_v5,draw_v4,draw_v0)
  AddTriangle(draw_face,draw_v1,draw_v2,draw_v6)
  AddTriangle(draw_face,draw_v6,draw_v5,draw_v1)
  AddTriangle(draw_face,draw_v2,draw_v3,draw_v7)
  AddTriangle(draw_face,draw_v7,draw_v6,draw_v2)
  AddTriangle(draw_face,draw_v3,draw_v0,draw_v4)
  AddTriangle(draw_face,draw_v4,draw_v7,draw_v3)
 Else
  draw_v0=AddVertex(draw_face,f_draw_x1-f_draw_x2,f_draw_y1+f_draw_y2,0, 1.5,0.5)
  draw_v1=AddVertex(draw_face,f_draw_x1+f_draw_x2,f_draw_y1+f_draw_y2,0, 1.5,0.5)
  draw_v2=AddVertex(draw_face,f_draw_x1+f_draw_x2,f_draw_y1-f_draw_y2,0, 1.5,0.5)
  draw_v3=AddVertex(draw_face,f_draw_x1-f_draw_x2,f_draw_y1-f_draw_y2,0, 1.5,0.5)
  VertexColor draw_face,draw_v0,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v1,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v2,draw_fr,draw_fg,draw_fb,draw_fa
  VertexColor draw_face,draw_v3,draw_fr,draw_fg,draw_fb,draw_fa
  VertexNormal draw_face,draw_v0,0,0,-1
  VertexNormal draw_face,draw_v1,0,0,-1
  VertexNormal draw_face,draw_v2,0,0,-1
  VertexNormal draw_face,draw_v3,0,0,-1
  AddTriangle(draw_face,draw_v0,draw_v1,draw_v2)
  AddTriangle(draw_face,draw_v2,draw_v3,draw_v0)
 End If
End Function

Am besten ist immer noch die neuste Draw3D2 V.1.1

Wenn man sich 5min hinsetzt, hat man auch das ganze Bump-Zeug schon entfernt und hat guten Code.

Ich verstehe nicht, warum noch die alten Versionen verwendet werden.
 

dont_know_to_use

BeitragMi, Feb 23, 2011 10:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke hectic Smile

Wie gesagt, ich brauche die alte, weil ich sie nach FreeBasic übersetzen möchte um sie im Informatik-Unterricht zu verwenden. Die neuste Draw3D-Version zu übersetzen wäre zu viel Arbeit. Wink

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group