Gras von ???
Kleine Demo für Gras.
http://www.melog.ch/dl/mygrass_nu.zip

Achtung, im Zipfile ist die Demo 1 und die Texturen, nicht aber die folgende Demo 2 (mit mehr Gras :) ):

[code:1:42bf3e65a0]
; Simple, tiny Grass Demo by JFK aka NORC of CSP
;Graphics3D 1024,768,32,1
Graphics3D 800,600,16,1
SetBuffer BackBuffer()

Global windwave#
Global grasscount

camera=CreateCamera()
TranslateEntity camera,0,20,0
CameraClsColor camera,80,110,120
CameraFogMode camera,1
CameraFogColor camera,80,110,120
CameraFogRange camera,100,200
CameraRange camera,1,202
light=CreateLight()

terrain=LoadTerrain("hmap.jpg")
ScaleEntity terrain,5,100,5
TranslateEntity terrain,-320,0,-320
floortex=LoadTexture("floor.jpg")
ScaleTexture floortex,32/5,32/5
EntityTexture terrain,floortex

quad=LoadMesh("smplquad.3ds")
FitMesh quad,-10,0,0,20,20,0
EntityFX quad,16 Or 1
grasstex=LoadBrush("grass5f.tga",2 Or 48) ; also try Mode 4 instead of 2!
PaintMesh quad,grasstex

Dim grass(100000)
Dim grassa#(100000)
grasscount=0
For j=-250 To 250 Step 10
For i=-250 To 250 Step 10
grass(grasscount)=CopyEntity(quad)
x#=(i+Rnd(-5,5))
z#=(j+Rnd(-5,5))
y#=TerrainY(terrain,x,0,z)-Rnd(2)
PositionEntity grass(grasscount),x,y,z
grassa(grasscount)=Rand(-90,90)
grasscount=grasscount+1
Next
Next
HideEntity quad

;-------------------------Mainloop-----------------------
While KeyDown(1)=0
If KeyDown(200) Then MoveEntity camera,0,0,.5
If KeyDown(208) Then MoveEntity camera,0,0,-.5
mxs#=-MouseXSpeed()/4
mys#=MouseYSpeed()/4
mxa#=mxa#+mxs#
mya#=mya#+mys#
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
PositionEntity camera,EntityX(camera),TerrainY(terrain,EntityX(camera),0,EntityZ(camera))+20,EntityZ(camera)
RotateEntity camera,mya,mxa,0
wind(15,1.0)
UpdateWorld()
RenderWorld()
Text 0,0,"Quads in Scene: "+(grasscount-1)
Text 0,12,"Tris rendered: "+TrisRendered()
Flip
Wend
End

Function wind(force#,speed#)
For i=0 To grasscount-1
x#=EntityX(grass(i))
z#=EntityZ(grass(i))
RotateEntity grass(i),Sin(windwave+x+grassa(i))*force#,grassa(i),Cos(windwave+z-grassa(i))*(force#/2)
Next
windwave=(windwave+speed#)Mod 360
End Function
[/code:1:42bf3e65a0]
===
von ???
Wow sieht gut aus wie sich das Gras im Wind bewegt!
===
von ???
als kleine inspiration für norc:
http://www.idvinc.com/downloads/exe/The%20Valley.exe (12MB)

[auf wunsch des thread erstellers finden sie hier keine screenshots mehr. bitte besuchen sie stattdessen folgende seite: www.idvinc.com . danke :)]
===
von ???
argh, das ieht ja fast besser aus als benchmark 3DMark 01 :shock:
===
von ???
norc, kann es sein, dass ich das nicht gerade auf blitzbasic.com gesehen habe?? warum postest du da einen screenshot und hier nicht? böser du :lol:
schaut gut aus. muss ich mal mit viel viel mehr grashalmen testen..
===
von ???
genial =)
===
von ???
es erweicht sich nicht zufällig jemand und kompiliert das ganze oder postet die URL vom screen? :)
===
von ???
Danke Leute! vielleicht komm ich irgendwann noch dazu, das ganze als Single Surface Lösung umzucoden, schätze, dann läuft es etwa knapp doppelt so schnell. Ist aber fraglich, ob dann nicht Z-Order Probleme entstehen dadurch, dass alles ein einziges Mesh ist. Auch wird dann die kurze Kamera Range keinen beschleunigenden Effekt mehr haben, da das ganze Mesh dem Renderer übergeben wird.

Codemaster - ja, eine Art LOD wäre optimal für solches Gras, vor allem für riesige Welten.

Natürlich, verschiedene Gräser und auch Bäume gehören da rein. Ist hat nur eine Demo, man beachte die Gras Textur: 32 Bit TGA. Ich habe hier ein Experiment gemacht: Das Gras als Graustufenbild den Kontrast so weit erhöht, dass ich quasi eine schwarze Maske und eine weisse Silhouette der Pflanze hatte. Diese Silhouette hab ich dann in den Alphakanal des Originals kopiert und (wobei dies das Experiment darstellt:) den Alphachannel mit "Blur more" weichgezeichnet. Jedenfalls hat mich das persönlich überzeugt.

PS OJay - ja schöne Inspiration. Leider sieht das viel besser aus, als meine Demo, also bitte tu die Screenshots bitte wieder weg :) Oder soll ich in deinem nächsten Projekt Thread Doom3 Screens posten? Grins. Zudem: Das Gras alleine ist auch nicht viel besser. Allerdings: die Schatten der Bäume auf dem Gras sind vollfett. Naja, ich bezweifle, dass dieses Fasttree Projekt wie meine Demo in ein zwei Stunden entstanden ist.

Ok, hier ein Screenie, aber ist übel gequetschtes JPG:

[img:dc4bafe0e4]http://www.melog.ch/dl/grassshot1.jpg[/img:dc4bafe0e4]
===
von ???
Hier Triton: [url]http://darkshadow.art-fx.org/mygrass_nu.zip[/url] (694Kb)

Exe + Code + Gfx + Mesh
===
von ???
Ui, schön..
===
von ???
Jau, fett
===
von ???
DarkShadow - schade hast du nicht die Demo 2 genommen (Code oben), die sieht meines Erachtens einiges besser aus.

PS wenn man mehrere Bitz EXEs in ein Zip packt, dann packt der Packer das locker weg, da der grösste Teil der Exes weitgehend identisch ist.
===
von ???
Bitteschön: [url]http://darkshadow.art-fx.org/mygrass_nu.zip[/url]
Komischer weise ist es jetzt von 694KB auf 269KB geschrumpft [img:a39a73d884]http://forum.boardbase.de/images/smilies/confused.gif[/img:a39a73d884]

File enthällt nun beide Demos mit Code und Exe ...
===
von ???
Nein, nur eine Demo mit Code. Die zwei Exen fehlen.
===
von ???
he, sowas mit gras habe ich vor einigen tagen auch gemacht. im zuge meiner kleinen strandgrafikspielerei.

http://www.crazypage.net/Inarie/screens/trash/strandscreen.jpg
http://www.crazypage.net/Inarie/screens/trash/strand2.jpg
===
von ???
hiho

9800 Triangles und 31FPS?
sau langsam!

cu
===
von ???
tjo, is saulangsam. und was denkst du, kann man das gegen tun? na, vorschlag? an nicht-grafischen berechnungen kann es nicht liegen - davon gibt es kaum welche. es könnte allerdings schon eher daran liegen, dass das terrain eine dreifache multitextur(textur,lightmap,detail) mit softwareberechnung hat. der grund dafür ist einfach: meine grafikkarte hat schwere darstellungsfehler bei hardwarebeschleunigten multitexturen mit bb. ich denke mal, dass das ganze auf einer neueren kiste besser laufen würde. hier habe ich nur 933 mhz, 128 sdram, radeon sdr. 30 fps für 10 000 triangles in bb sind bei mir eher normal, aber wenn du meinst.
===
von ???
Ich wusste doch, dass dadran irgendetwas falsch ist! xD
Ich hab sie nochmal geuppt: [url]http://darkshadow.art-fx.org/mygrass_nu.zip[/url] (1,5MB)
:oops:

edit: ini, für mich schauts aus, als ob jan nen kleiner ignorant ist. aber ich hätte jetzt mal auf eine fps bremse getippt, wegen den konstanten 31 (keine nachkommerstelle)
===
von ???
Alle meine FPS Counter (ok, hab nur einen und nutz auch nur den ^^)
haben keine Nachkommastellen, wozu auch.

So, und damit die Diskusion (die ja im Codearchiv nicht stattfinden soll..)
jetzt beendet wird ziehe ich das Fazit und sage:


schön, aber zu extensiv genutzt etwas lahm ;)
===
von ???
Es gibt gute news! Elias_t und MasterBeaker haben sich des Codes angenommen. Elias hat das Ganze erstmal zu einem Single-Surface System gemacht. Die dadurch entstehenden Z-Order Probs hat MasterBeaker durch seine geniale Laufzeit-Z-Order Sort Routine gelöst.

Die Demos in allen Vesionen sollten zu finden sein unter "relatively realistic Grass" in "User Creations" des Forums von www.blitzbasic.com .

Es empfiehlt sich, das File von unten nach oben zu suchen, damit man das neueste saugt.

Dieses Single Surface System ist nun in etwa doppelt so schnell. Coppercircle hat es bereits in sein Projekt eingebeut, coole Screens!
===
von ???
[url=http://telias.free.fr/temp/grass_zorder_c.zip]link[/url]

Verdammt Engländer! Ich hasse es immer wenn die Maus inventiert ist xD
Schaut schön aus! Nur leider hat mein PC zu schnell geladen, da hats für eine Tasse voll Tee nicht gereicht ;)[/url]
===
von ???
Interessant das ding.. sag mal, das darf man doch auch in der fassung für projekte benutzen ?

*edit* Leistung auf einem 2Ghz Rechner BB Demo ohne Debugger : 1 - 7 FPS ^^

Schulrechner sind toll - 2GHz aber ne Ati Rage Pro Karte drin *GG*
===
von ???
Ja, Verwendung erlaubt, aber Nennung von Norc, Elias_t und MasterBeaker in den Credits erbeten.



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: