raster
Übersicht

fliesenklausBetreff: raster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo
hab im forum einige anfragen über rasteranzeigen für 3d gelesen. da ich selbst gerade ein animationsprog. schreibe und auch vor dem problem stand habe ich so ziemlich alle möglichkeiten durchprobiert. ( plane,sprite,cubes,triangles,sogar terrain) ich hab meiner meinung nach,wohl die schnellste methode gefunden. etwas unter 1 ms darstellungszeit. (amd 3200) nachteil : belegt etwa 1 mb im grafikspeicher ,bin dabei eine routine für eine bank zu schreiben. aber der aufbau verschlingt noch über 250 ms ,komme der sache aber näher ,und wird nachgeliefert. ich bin mal so frech und stelle das raster einfach mal rein. an hectic echt krass. hab mal den taskmanager mitlaufen lassen und ein temperaturfühler. bei flip 1 geht das ding tatsächlich auf 98 % und die temperatur steigt in nur 10 sek auf 8 grad ohne 4 % Code: [AUSKLAPPEN] Graphics3D 1280,1024,32,1 SetBuffer BackBuffer() : Global cam = CreateCamera (), Timer = CreateTimer (100) PositionEntity (cam,10,15,-15) : RotateEntity (cam,65,30,0) initraster (za) Repeat RenderWorld () WaitTimer (timer) Flip (0) Until KeyHit (1) End ;##################################################################### Function initraster (za) anz = 25 raster (za) = CreateMesh() : surface=CreateSurface(raster (za)) sc# = 0.02 : y# = 0 For x = -anz To anz For z = -anz To anz v1=AddVertex(surface ,x - sc , y - sc, z - sc ) : v2 = AddVertex (surface, x -sc , y + sc, z - sc) v3=AddVertex(surface ,x + sc , y + sc, z - sc ) : v4 = AddVertex (surface, x +sc , y - sc, z - sc) v5=AddVertex(surface ,x - sc , y - sc, z + sc ) : v6 = AddVertex (surface, x -sc , y + sc, z + sc) v7=AddVertex(surface ,x + sc , y + sc, z + sc ) : v8 = AddVertex (surface, x +sc , y - sc, z + sc) AddTriangle (surface, v1, v2, v4) : AddTriangle (surface, v2, v3, v4) AddTriangle (surface, v5, v8, v6) : AddTriangle (surface, v6, v8, v7) AddTriangle (surface, v5, v6, v1) : AddTriangle (surface, v1, v6, v2) AddTriangle (surface, v4, v7, v8) : AddTriangle (surface, v3, v7, v4) AddTriangle (surface, v2, v6, v3) : AddTriangle (surface, v6, v7, v3) AddTriangle (surface, v1, v4, v5) : AddTriangle (surface, v5, v4, v8) Next : Next UpdateNormals raster (za) End Function ;--------------------------------- |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht hilft dir folgender Code ja weiter. Erfordert aber doppeltes Rendering...
Code: [AUSKLAPPEN] Graphics3D 800,600,0,2
SetBuffer BackBuffer() Local Timer=CreateTimer(100) Local Camera=CreateCamera() Local Mesh=CreateMesh() Local Face=CreateSurface(Mesh) Local Cube=CreateCube() Local Light=CreateLight() EntityFX Mesh,19 Local Gitter,Q Local V0,V1,V2,V3 CameraClsColor Camera,96,96,96 PositionEntity Camera,-4,4,0 PositionEntity Cube,0,1,10 RotateEntity Light,20,-20,0 Const Size=40 For Q=-Size To Size V0=AddVertex(Face,Q,0,-Size) V1=AddVertex(Face,Q,0,+Size) V2=AddVertex(Face,-Size,0,Q) V3=AddVertex(Face,+Size,0,Q) VertexColor Face,V0,0,0,0 VertexColor Face,V1,0,0,0 VertexColor Face,V2,0,0,0 VertexColor Face,V3,0,0,0 AddTriangle Face,V0,V1,V0 AddTriangle Face,V2,V3,V2 Next MoveMouse 400,300 While Not KeyHit(1) TurnEntity Camera,MouseYSpeed()/4.0,-MouseXSpeed()/4.0,0 CameraClsMode(Camera,1,1) WireFrame(0) RenderWorld() CameraClsMode(Camera,0,0) WireFrame(1) RenderWorld() WaitTimer(Timer) Flip 0 Wend End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
fliesenklaus |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
is ja noch besser
mit doppelt rendern habe ich das mit plane gemacht ,das sah noch besser aus,aaaber wenn ich zu nah oder weiter weg war ging alles in die hose. hatte dann mehrere texturne gebaut ,mit verschiedenen strichstärken . zusätzlich musste ich noch 1000 lampen aufhängen das ich hinten noch was sah habs dann aufgegeben. mit den linien hatte ich auch schon ,nur hab ich die linien zu lang gemacht und es fehlten einige . hatte nicht dran gedacht das aufzuteilen. da ist man schon ein halbes jahr dabei und kann immer noch nichts. und wieder mal danke |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also, ich bin schon etwas länger dabei, aber ich kenne auch nur meine 5 Sachen mit den ich versuche mich rumzuschlagen. Soll heissen, dass man beim programmieren nie auslernt. Somit wird es nie langweilig, oder, somit wird man nie zufrieden mit sich selbst. Je nachdem wie man es sieht.
Achja, zum Horizont hin, könnte man die Linien transparenter machen. Dann würden die Linien die weiter weg sind, weich den Horizonz füllen, statt wie jetzt ein Pixeltanz zu veranstallten. Wie gut muß es denn aussehen? Für ein Modeleditor reicht doch schon Const Size = 10 oder so... |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group