3d Wolken
Übersicht

![]() |
owareBetreff: 3d Wolken |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ich musste mich mal irgendwie entspannen und habe deshalb (tada) ein paar simple wolken geproggt, durch die man hindurchfliegt. Wie gesagt, sehr simpel und nach 20 minuten war ich auch schon fertig.. ich brauchte nur abwechslung von meinem "großen" Projekt, Duel. Viel Spaß!! mfg oware http://www.skyway-va.de/downloads/Wolken.zip ein Bild: |
||
www.myspace.com/oliverpuetz -> Mein Instrumentalprojekt |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nett ![]() Wie haste das gemacht ? Einfach nur sprites oder auch Single Surface ? |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht ganz nett aus. Allerdings erkent man kaum etwas, weil man nichts ausser Wolken sieht. Und bitte nimm die Framebremse raus, so kann man nicht sehen, wie schnell es wirklich läuft.
Vielleicht sollte das auch besser in Codearchiv, ob man das als Projekt ansehen kann...? MfG Blitzcoder |
||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
Shodan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Link ist down. Screenshot ebenfalls. | ||
www.selfmadegames.de |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir kommt 'Memory Access Violation' ![]() |
||
°_° °.° °~° °v° .. -.- |
![]() |
oware |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Shodan: Entweder war der server gerade in dem moment down in dem du es downloaden wolltest oder dein pc hat 'ne macke ![]() Hier mal außnahmsweise der vollkommen unoptimierte Code (seltenheit!! ![]() Code: [AUSKLAPPEN] Graphics3D 1152,864,32,1
AppTitle "Cloud Engine" SetBuffer BackBuffer() SeedRnd MilliSecs() ;Global m = CreateMesh() Type CloudField Field mesh# Field PosX# Field PosY# Field PosZ# Field alpha# End Type Global qut = 1000 cldPos = ReadFile("cldPos.txt") For i = 0 To qut Cloud.Cloudfield = New CloudField Cloud\mesh = CreateCloud("cld2.png") ScaleEntity Cloud\mesh,8,8,8 pos$ = ReadLine(cldpos) Cloud\PosX = pos Cloud\PosY = Mid(pos,Instr(pos,",")+1) Cloud\PosZ = Mid(pos,Instr(pos,"/")+1) PositionEntity Cloud\mesh,Cloud\PosX,Cloud\PosY,Cloud\PosZ EntityAlpha Cloud\mesh,0 Next Global skybox = CreateSkyBox("sky") camera = CreateCamera() CameraFogMode camera,1 CameraFogColor camera,240,240,250 CameraFogRange camera,1,200 PositionEntity camera,0,0,0 Piv = CreatePivot() EntityParent camera,Piv PositionEntity Piv,0,15,0 plane = CreatePlane() PositionEntity plane,0,-40,0 RotateEntity plane,0,45,0 tex = LoadTexture("gnd.jpg") ScaleTexture tex,864/2,755/2 EntityTexture plane,tex Color 255,0,0 light = CreateLight() While Not keydown(1) If (MilliSecs()-start) >= 25 TurnEntity Piv,0,0,0 MoveEntity Piv,0,0,0.5 For Cloud.Cloudfield = Each CloudField PointEntity Cloud\mesh,camera If cloud\alpha <= 1 cloud\alpha = cloud\alpha + 0.02 EntityAlpha cloud\mesh,cloud\alpha dist# = EntityDistance#(Piv,Cloud\Mesh) If dist < 20 EntityAlpha Cloud\mesh,dist/35 If EntityZ(cloud\mesh)-EntityZ(Piv) < 0 RotateEntity cloud\mesh,0,0,0 MoveEntity cloud\mesh,0,0,200 If KeyDown(2) Then EntityAlpha cloud\mesh,0 : cloud\alpha = 0 Next UpdateWorld PositionEntity skybox,EntityX(Piv),EntityY(Piv),EntityZ(Piv) start = MilliSecs() EndIf RenderWorld If (MilliSecs()-StartSecs)<100 fps#=fps+1 Else fpsShow#=fps*10 fps=0 startsecs=Millisecs() EndIf Text 0,0,fpsShow+" FPS" Flip 0 Wend End Function CreateCloud(path$) m = CreateMesh() b = LoadBrush(path,2) s = CreateSurface( m,b ) v0 = AddVertex(s,-1,1,0,0,1) v1 = AddVertex(s,1,1,0,1,1) v2 = AddVertex(s,1,-1,0,1,0) v3 = AddVertex(s,-1,-1,0,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 EntityFX m,1+16 Return m End Function Function CreateSkyBox(path$) m = CreateMesh() b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,1,1,1,0) v1 = AddVertex(s,1,1,1,0,0) v2 = AddVertex(s,1,-1,1,0,1) v3 = AddVertex(s,-1,-1,1,1,1) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,1,1,1,1,0) v1 = AddVertex(s,1,1,-1,0,0) v2 = AddVertex(s,1,-1,-1,0,1) v3 = AddVertex(s,1,-1,1,1,1) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,1,1,-1,1,0) v1 = AddVertex(s,-1,1,-1,0,0) v2 = AddVertex(s,-1,-1,-1,0,1) v3 = AddVertex(s,1,-1,-1,1,1) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,-1,1,0,1) v1 = AddVertex(s,-1,-1,-1,1,1) v2 = AddVertex(s,-1,1,-1,1,0) v3 = AddVertex(s,-1,1,1,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_up.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,1,-1,0,1) v1 = AddVertex(s,1,1,-1,1,1) v2 = AddVertex(s,1,1,1,1,0) v3 = AddVertex(s,-1,1,1,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 b = LoadBrush(path+"_down.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,-1,1,0,1) v1 = AddVertex(s,1,-1,1,1,1) v2 = AddVertex(s,1,-1,-1,1,0) v3 = AddVertex(s,-1,-1,-1,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b EntityFX m,1+8 ScaleEntity m,1000,1000,1000 EntityOrder m,9999 Return m End Function |
||
www.myspace.com/oliverpuetz -> Mein Instrumentalprojekt |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, läuft immer noch nicht. Bei mir sagt der 'Runtime Error - Stream does not exist' bei diesem Befehl pos$ = ReadLine(cldpos).
Edit: Ich dummerchen muss ja den Code ins selbe Verzeichniss packen, wo auch die Bilder sind ![]() Der Code hat bei mir ne FPS von 0.0 (Debugger Aus) und man sieht immer wie sich das Bild aufbaut. Soll das so sein? Edit2: Ich erschlag dich heut ma mit Edits ![]() Hab Flip 0 zu Flip umgeändert. Jetzt flackert der Bildschirm nicht mehr. Aber die Fps is immer noch miserabel. Grad ma 6FPS. Aber dafür sehen die Wolken echt schön aus ![]() |
||
![]() |
oware |
![]() Antworten mit Zitat ![]() |
---|---|---|
schau dir mal in meiner signatur meinen pc an und vergleich mit deinem. vllt liegts daran? | ||
www.myspace.com/oliverpuetz -> Mein Instrumentalprojekt |
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also bei mir klappts gut! Schön gemacht ![]() Google Earth für die Textur, eh? |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kleiner Angeber.
Es kann ja nicht jeder son atemberaubenden PC haben wie du, du King ![]() Und das genau solltest du auch dabei beachten, wenn du ein Programm schreibst. Die meisten haben nämlich alle so 1.8 GHZ rechner mit 512 Ram und darauf solltest schon achten, wenn du auf deinen genialen HighEnd PC ein Code progst;) |
||
°_° °.° °~° °v° .. -.- |
![]() |
biggicekey |
![]() Antworten mit Zitat ![]() |
---|---|---|
was is das denn schon für ein komischer graphics mode...
bei mir kam immer nur schwarz... edit: aber wenns geht ganz nett anzuschauen |
||
#45 www.icekeyunlimited.de www.starcrusade.de
Gewinner BCC#17 !!! mit dotkiller Nothing more to register - you've cleaned us out![/size] |
![]() |
BlitzcoderNewsposter |
![]() Antworten mit Zitat ![]() |
---|---|---|
So Highendig ist er auch wieder nicht. Gut er hat viel RAM. | ||
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________ |°°°°°°°°°°°°°°||'""|""\__,_ |______________ ||__ |__|__ |) |(@) |(@)"""**|(@)(@)****|(@) |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
sieht gut aus.
hab mal die anzahl + grösse leicht verändert...sieht immer noch gut aus und ist ca. 10mal schneller Code: [AUSKLAPPEN] Graphics3D 1152,864,32,1
AppTitle "Cloud Engine" SetBuffer BackBuffer() SeedRnd MilliSecs() ;Global m = CreateMesh() Type CloudField Field mesh# Field PosX# Field PosY# Field PosZ# Field alpha# End Type Global qut = 10 cldPos = ReadFile("cldPos.txt") For i = 0 To qut Cloud.Cloudfield = New CloudField Cloud\mesh = CreateCloud("cld2.png") ScaleEntity Cloud\mesh,50,50,50 pos$ = ReadLine(cldpos) Cloud\PosX = pos Cloud\PosY = Mid(pos,Instr(pos,",")+1) Cloud\PosZ = Mid(pos,Instr(pos,"/")+1) PositionEntity Cloud\mesh,Cloud\PosX,Cloud\PosY,Cloud\PosZ EntityAlpha Cloud\mesh,0 Next Global skybox = CreateSkyBox("sky") camera = CreateCamera() CameraFogMode camera,1 CameraFogColor camera,240,240,250 CameraFogRange camera,1,200 PositionEntity camera,0,0,0 Piv = CreatePivot() EntityParent camera,Piv PositionEntity Piv,0,15,0 plane = CreatePlane() PositionEntity plane,0,-40,0 RotateEntity plane,0,45,0 tex = LoadTexture("gnd.jpg") ScaleTexture tex,864/2,755/2 EntityTexture plane,tex Color 255,0,0 light = CreateLight() While Not keydown(1) If (MilliSecs()-start) >= 25 TurnEntity Piv,0,0,0 MoveEntity Piv,0,0,0.5 For Cloud.Cloudfield = Each CloudField PointEntity Cloud\mesh,camera If cloud\alpha <= 1 cloud\alpha = cloud\alpha + 0.02 EntityAlpha cloud\mesh,cloud\alpha dist# = EntityDistance#(Piv,Cloud\Mesh) If dist < 20 EntityAlpha Cloud\mesh,dist/35 If EntityZ(cloud\mesh)-EntityZ(Piv) < 0 RotateEntity cloud\mesh,0,0,0 MoveEntity cloud\mesh,0,0,200 If KeyDown(57) Then EntityAlpha cloud\mesh,0 : cloud\alpha = 0 Next UpdateWorld PositionEntity skybox,EntityX(Piv),EntityY(Piv),EntityZ(Piv) start = MilliSecs() EndIf RenderWorld If (MilliSecs()-StartSecs)<1000 fps#=fps+1 Else fpsShow#=fps fps=0 startsecs=Millisecs() EndIf Text 0,0,fpsShow+" FPS" Flip 0 Wend End Function CreateCloud(path$) m = CreateMesh() b = LoadBrush(path,2) s = CreateSurface( m,b ) v0 = AddVertex(s,-1,1,0,0,1) v1 = AddVertex(s,1,1,0,1,1) v2 = AddVertex(s,1,-1,0,1,0) v3 = AddVertex(s,-1,-1,0,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 EntityFX m,1+16 Return m End Function Function CreateSkyBox(path$) m = CreateMesh() b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,1,1,1,0) v1 = AddVertex(s,1,1,1,0,0) v2 = AddVertex(s,1,-1,1,0,1) v3 = AddVertex(s,-1,-1,1,1,1) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,1,1,1,1,0) v1 = AddVertex(s,1,1,-1,0,0) v2 = AddVertex(s,1,-1,-1,0,1) v3 = AddVertex(s,1,-1,1,1,1) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,1,1,-1,1,0) v1 = AddVertex(s,-1,1,-1,0,0) v2 = AddVertex(s,-1,-1,-1,0,1) v3 = AddVertex(s,1,-1,-1,1,1) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_side.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,-1,1,0,1) v1 = AddVertex(s,-1,-1,-1,1,1) v2 = AddVertex(s,-1,1,-1,1,0) v3 = AddVertex(s,-1,1,1,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b b = LoadBrush(path+"_up.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,1,-1,0,1) v1 = AddVertex(s,1,1,-1,1,1) v2 = AddVertex(s,1,1,1,1,0) v3 = AddVertex(s,-1,1,1,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 b = LoadBrush(path+"_down.jpg",49) s = CreateSurface(m,b) v0 = AddVertex(s,-1,-1,1,0,1) v1 = AddVertex(s,1,-1,1,1,1) v2 = AddVertex(s,1,-1,-1,1,0) v3 = AddVertex(s,-1,-1,-1,0,0) AddTriangle s,v0,v1,v2 AddTriangle s,v0,v2,v3 FreeBrush b EntityFX m,1+8 ScaleEntity m,1000,1000,1000 EntityOrder m,9999 Return m End Function l8er, psy |
||
![]() |
oware |
![]() Antworten mit Zitat ![]() |
---|---|---|
mmh so fehlen nur leider die ganzen details der wolken.. das prob ist natürlich dass es nicht singlesurface ist. aber kann mir mal jemand ein bsp für das rotieren einzelner Tris geben??? Hilfe das kann ich doch gar nit!!
Hab's mal versucht bin aber nur zu dem punkt gekommen an dem ich den mittelpunkt eines Tris errechnet hatte. aber dann... K/a. vielleicht könnt ihr da ja helfen? und wenns schnell genug wird kann ich diese ja in mein projekt einbinden... ![]() ![]() oware |
||
www.myspace.com/oliverpuetz -> Mein Instrumentalprojekt |
![]() |
Shodan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Regel Nr.1: Vergib niemals irgendein Handle von einem Mesh,Camera,Textur etc. an eine Float-Variable!!!! Nur an Integer-Variablen
Code: [AUSKLAPPEN] Type CloudField Field mesh# <--- schlechte Idee Field PosX# Field PosY# Field PosZ# Field alpha# End Type Deswegen läuft die .exe wahrscheinlich nicht. Der Effekt tritt offenbar bei Rechnern mit grösserem Speicher auf, da dort die Zahlenwerte der Handles so gross werden können, dass Floats diese nicht mehr korrekt speichern und anfangen, diese zu runden. Böse Falle. Bin auch mal drauf reingefallen und hab mich dumm und dusselig gesucht. Ansonsten guter Ansatz. Die partikel sollten hinter der Kamera langsam ausgeblendet werden, damit man auch nach hinten diesselbe Ansicht hat. mfg Shodan |
||
www.selfmadegames.de |
Mr Hopp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kann mal jmd den aktuellen Link posten? ![]() |
||
Zitat:
Wie poste ich falsch? Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group