Wireframefarbe

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

cavebird

Betreff: Wireframefarbe

BeitragDi, März 16, 2004 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey ich wollte mal wissen wie ich die Farbe vom Wireframe ändern kann.
Hat vielleicht jemand solch ein Skript mal geschrieben?
MegaUpload.de -- Uploade bis zu 2MB pro Bild !!DEIN PARTNER IN SACHEN UPLOAD --bitte weiterempfehlen, nur so können wir bekannt werden...
 

INpac

BeitragDi, März 16, 2004 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm.. die kann man so nicht einstellen.
du könntest es coden, indem du jeden pixel, der nicht die clscolor der aktuellen cam hat in deine gewünschte farbe umfärbst, aber das ist zu lahm @ realtime.

Es gibt eine Function, die dir eine 1-pt-Linie zwischen 3D-Koord. einzeichnet...
 

cavebird

BeitragDi, März 16, 2004 22:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Was wäre denn schneller?

Vertex

BeitragDi, März 16, 2004 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
was willste denn machen? Wireframefarbe hängt von der Textur oder
von der VertexColor ab.
vertex.dreamfall.at | GitHub
 

cavebird

BeitragDi, März 16, 2004 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo das weiß ich.
Aber was ist wenn ich eine Textur drauf habe.
Wenn der Wireframe an ist soll die Farbe des Wireframe weiß sein.
Bitte helft mir.

Vertex

BeitragDi, März 16, 2004 23:08
Antworten mit Zitat
Benutzer-Profile anzeigen
AmbientLight auf 255,255,255 setzen und EntityFX auf 2 (Vertecolor)
vertex.dreamfall.at | GitHub
 

cavebird

BeitragDi, März 16, 2004 23:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo dein Tipp klappt,aber das Wireframe ist nicht weiß sondern schwarz Question
 

OJay

BeitragDi, März 16, 2004 23:53
Antworten mit Zitat
Benutzer-Profile anzeigen
ein code aus meinem archiv:
Code: [AUSKLAPPEN]
; --- set graphics
Graphics3D 640,480,32,0
SetBuffer(BackBuffer())

; --- create scene setup
camPiv = CreatePivot()
camera = CreateCamera(camPiv)
PositionEntity(camera, 0,0,-10)

light=CreateLight(2)
PositionEntity(light,4,10,0)
LightRange(light,10)

; --- create test cube
cube=CreateCube()
ScaleMesh(cube, 2,1,1)
EntityAlpha(cube, 0.5)
cube2=CreateCube()
ScaleMesh(cube2, 1.8,0.8,0.8)

; --- create lines
lines = createLine(2,1,1,    1,2,1)
lines = createLine(1,2,1,    0,2.3,1, lines)
lines = createLine(0,2.3,1, -1,2,1, lines)
lines = createLine(-1,2,1,  -2,1,1, lines)
EntityColor(lines, 255,0,0)

; okay, this is a bit cheating and very wrong/memory leak prone and shouldn't be used this way (because freeEntity(lines) will only free the last line)
; but i wanted To make more than one Line
; and not bother with typing even more hide- and showentity or rewriting the createline function:)
;
; yes, i am lazy ;)

lines = createLine(2,1,-1,    1,2,-1)
lines = createLine(1,2,-1,    0,2.3,-1, lines)
lines = createLine(0,2.3,-1, -1,2,-1, lines)
lines = createLine(-1,2,-1,  -2,1,-1, lines)
EntityColor(lines, 255,0,0)

lines = createLine(-3,1,1,   3,1,1)
EntityColor(lines, 255,0,0)
lines = createLine(-5,1,-1,  4,1,-1)
EntityColor(lines, 255,0,0)
lines = createLine(-4,-1,1,  3,-1,1)
EntityColor(lines, 255,0,0)
lines = createLine(-3,-1,-1, 5,-1,-1)
EntityColor(lines, 255,0,0)

TurnEntity(campiv, 35,35,35)

While Not KeyHit(1)

   ; --- camera controls
   scrollwheel = MouseZSpeed()
   If MouseDown(1) Then
      TurnEntity(camPiv, MouseYSpeed(),-MouseXSpeed(),0)
   Else If scrollwheel <> 0 Then
      MoveEntity(camera, 0,0,scrollwheel*3)
   Else
      dummy = MouseYSpeed():dummy = MouseXSpeed():dummy = MouseZSpeed() ; prevent mousepeed blips.
   End If

   ; --- rendering
   CameraClsMode(camera, 1, 1)
   WireFrame(0)
   HideEntity(lines)
   ShowEntity(cube)
   ShowEntity(cube2)   
   RenderWorld()
   
   CameraClsMode(camera, 0, 0)
   WireFrame(1)
   ShowEntity(lines)
   HideEntity(cube)
   HideEntity(cube2)   
   RenderWorld()
   Flip()
Wend

End





Function createline(x1#,y1#,z1#, x2#,y2#,z2#, mesh=0)
   
   If mesh = 0 Then
      mesh=CreateMesh()
      EntityFX(mesh,16)
      surf=CreateSurface(mesh)   
      verts = 0   
   
      AddVertex surf,x1#,y1#,z1#,0,0
   Else
      surf = GetSurface(mesh,1)
      verts = CountVertices(surf)-1
   End If
   
   AddVertex surf,x1#,y1#,z1#,0,0 ; or maybe change this to something like: AddVertex surf,x1#+0.001,y1#+0.001,z1#+0.001,0,0
   AddVertex surf,x2#,y2#,z2#,1,0
   
   AddTriangle surf,verts,verts+2,verts+1
   


   Return mesh
End Function

 

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group