realtiv simple Schattenengine gesucht...

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

#Reaper

Newsposter

Betreff: realtiv simple Schattenengine gesucht...

BeitragSo, Okt 23, 2005 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Ich suche nach einer realtiv einfachen Schattenengine...

Ich kenne Inaries Schattenengine, allerdings, weiß ich nicht, wie man diese richtig verwendet, und weiß auch nicht, ob man die für soetwas (relativ) einfachem benutzen kann...

Es geht darum:
Ich habe vor, ein Projekt zumachen, indem es mir doch in erster linie um die Grafik geht Wink
Es müssen einfache Schatten für Planeten her, welchenur auf die Atmosphäre des jeweiligem Planet und auf evt. Kometen, ect. fallen müssen...
Ich habe schon einige Versuche mit Cone's+EntityBlend und EntityAlpha gemacht, welche als Schattenwurf benutzt werden sollten...das ergebniss war nie passend, und hatte auch manchmal komische "fehler"...

Ich habe schon überall gesucht, aber nichts richtiges gefunden (halt auser Inarie's Wink )..
im Code-Archiv von bb.com habe ich allerdings noch eine Engine gefunden, welche aber nicht richtig, oder garnicht, auf ATI Karten funktioniert... den link habe ich allerding nichtmehr...

Vielleicht kann mir einer helfen, oder mir eine kostenlose Schattenengine empfehlen..?


Danke für eure hilfe Smile


MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

Dreamora

BeitragSo, Okt 23, 2005 21:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt keine
Es gibt allerdings im englischen Codearchiv einige Ansätze wie man Schatten umsetzen könnte. Mit diesen kannst du dir ein eigenes kleines, simples Schattensystem umsetzen.
Problem könnte höchstens werden, dass diese Beispiele meist auf Blitz Terrain basieren und du für deine Schatten wohl LinePicks verwenden müsstest.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Mr.Keks

BeitragSo, Okt 23, 2005 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
es gibt keine?
hihi, zufälligerweise habe ich gerade heute eine geschrieben. allerdings ist die vollständig in ae eingebettet und verwendet einige kniffe, die bei planeten und so nicht möglich wären. werde sie vermutlich auch nicht veröffentlichen, da es ein riesiger aufwand wäre, sie universell einsetzbar zu machen.

sswifts schattensystem kostet zwar was, soll aber ganz gut sein, habe ich gehört.

da gibts ein bild von ae mit schatten:
http://www.blitz.inarie.de/vie...=4329#4329
MrKeks.net
 

Dreamora

BeitragMo, Okt 24, 2005 0:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Er hat nach einer freien gesucht die einfach zu verwenden ist und da gibts ja effektiv keine. Das privat und so verschiedene Leute eine haben steht ausser frage Smile

Sswifts Schattenlib is supi, habe ich selbst auch.
Wenn man die geschickt einsetzt, kann man viel erreichen.

Oder man benutzt die im bb.com vorhandene fake stencil engine (siehe showcase board wenn ich mich nicht irre)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

#Reaper

Newsposter

BeitragMo, Okt 24, 2005 13:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstmal danke für die Antworten Smile

Also etwas dafür bezahlen, wollte ich jeztt nicht unbedingt.. weis ja nun auch nicht, wie viel die kostet^^

Also mir würde es ja genügen, wenn man mit BB3D nen schwarzes objekt erstellen könnte, was dann seine Farbe auf andere Objekte, welche in dem schattenobjekt sind, abgeben würde...halt wie ein schatten.. aber wenn ich mich nicht irre, ist das ja dieses Stencil da Wink

Also so wie z.b. hier:
http://www.blitzbasic.com/Comm...opic=40097 ?

MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

Dreamora

BeitragMo, Okt 24, 2005 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich meinte eigentlich das hier:
http://www.blitzbasic.com/Comm...opic=51683
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

#Reaper

Newsposter

BeitragMo, Okt 24, 2005 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Aso^^


Mmm..ja.. aber dort ist ja leider kein code.. Sad

Und so, wie es in der Demo aussieht, werden scheinbar die Schatten nur auf dem Terrain dargestellt.. und nicht auf anderen Objekten/Palmen...

schade..



MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Mr.Keks

BeitragMo, Okt 24, 2005 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
aber es sollte doch nicht sooo unschaffbar sein. besonders, wenn man es nur an planeten anpasst. mal der einfachheit halber nur mit vertices erklärt.

du gehst alle planeten durch. in dieser schleife gehst du dann alle näher an der sonne gelegenen planeten durch. wenn diese von der sonne aus gesehen den gerade geprüft werdenden planeten verdecken können (abstand zwischen 2dkoordinaten aus sicht der sonne kleiner als summe der planetenraiden durch z oder so ^^.), dann wird weiter berechnet und man schaut durch abstandberechnungen, welche vertices des planeten im schatten liegen. könnte allerdings etwas langsam werden ^^.

die vieeeel tollere methode, die ich hier vorschlagen möchte, ist die empfängerentitymethode. man pappe ein handtuchmäßiges mesh auf die lichtseite jedes planeten. nun rendere man immer von der sonne aus eine textur für dieses mesh. das mesh hat blend2, die textur sollte clamp und vram haben. beim texturrendern, stelle man als camerarange genau die strecke von der sonne bis zum planeten ein. clscolor weiß. nebeleffekt: so nah wie möglich an der sonne schon alle entities schwarz färben. wenn man sich bei den uvkoords und scaleentity camera,x,y,1 halbwegs schlau anstellt, sollte man damit wunderhübsche ergebnisse erzielen können ^^.
MrKeks.net
 

#Reaper

Newsposter

BeitragMo, Okt 24, 2005 20:17
Antworten mit Zitat
Benutzer-Profile anzeigen
äääm....jo^^

also methode 1...bin net so gut in Formeln ausdenken usw... nur rechnen ;D


mm.. also methode 2 wäre dann wohl besser^^
aber... dann wird auf dem Planeten doch nur der schatten von davor liegenden objekten gemacht, aber dahinterliegende objekte bekommen ja keinen schatten vom planeten ab, was mir da noch eher wichtig ist..wie z.b. Kometen beim Saturnring Wink

Und jeden einzelnen Kometen da durchzugehen... Confused


Aber danke für die Vorschläge Smile
Werde mir gedanken darüber noch weiterhin machen Very Happy


MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Ebola33

BeitragDi, Okt 25, 2005 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
denkbar für Planeten wäre auch eine Art Fakeschatten in dem du ein Rundes Dunkles Sprite benutzt dass du einfach halbtransparent daruberlegst. Wäre auf jeden Fall die Performance sparendste Methode....Soetwas werde ich auch bald benötigen. Mal sehen obs so funktioniert wie ich mir das vorstelle Wink
ansteckend... Wink
verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/
 

#Reaper

Newsposter

BeitragDi, Okt 25, 2005 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hatte es ja schon mit Cylindern usw. versucht, aber das ging ja auch nicht so richtig, noch komischer war, das in irgendeinem Blendmode, mit oder ohne Alpha (weis nicht mehr) ab und zu einmal der Cylinder bei Camerabewegungen verschwand Wink


Ich werde mal in den nächsten paar Tagen diese andere Stencil-Shadow funktion, welche ich hier schon gepostet hatte, ausprobieren...
Falls das nichts wird, wird mir warscheinlich nicht mehr viel überbleiben, und ich werde versuchen mit Hilfe von LinePick einfachen Schatten erstellen lassen..:
Einfach eine LinePick Linie als "Schatten" hinter einen Planeten packen, und alle Objekte, welche gepickt werden, einfach dunkel einfärben, bzw. die Traingles Smile
Zwar nicht sehr hübsch, aber effektiv^^

Edit: ok, sowas hat Dreamora schonmal erwähnt, mir war wohl nicht ganz so klar, was er meinte, danke Dreamora für die Idee, und auch für die der anderen Smile
Werde demnächst bestimmt meine ergebnisse posten Smile
PS: das mit den Trangles einfärben wird wohl nichts, da man wohl nicht alles trangles zurück geben lassen kann Sad
Und das scheint auch nicht zu gehen:
BlitzBasic: [AUSKLAPPEN]
Graphics3D 640,480
SetBuffer BackBuffer()
camera=CreateCamera()
MoveEntity camera,-5,0,10
TurnEntity camera,0,-90,0

light=CreateLight()
sphere=CreateSphere(32)
EntityPickMode sphere,1
PositionEntity sphere,0,0,10

While Not KeyDown(1)

If KeyDown(208)=1 Then MoveEntity sphere,0,-.01,0
If KeyDown(200)=1 Then MoveEntity sphere,0,.01,0
If KeyDown(203)=1 Then MoveEntity sphere,-.01,0,0
If KeyDown(205)=1 Then MoveEntity sphere,.01,0,0

entity=LinePick(0,0,0,0,0,20,.5)
If entity>0 Then
surface=PickedSurface()
triangle=PickedTriangle()
v0=TriangleVertex(surface,triangle,0)
v1=TriangleVertex(surface,triangle,1)
v2=TriangleVertex(surface,triangle,2)
VertexColor surface,v0,255,0,0
VertexColor surface,v1,255,0,0
VertexColor surface,v2,255,0,0
End If

UpdateWorld
RenderWorld
Flip
Wend
End


MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Mr.Keks

BeitragDi, Okt 25, 2005 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
vertexcolor geht nur mit speziellem ql:entityfx ^^.

und bei kugeln braucht man doch wohl kein linepick... naja, wie dem auch sei.
wenn ich demnächst mal zu viel zeit habe, code ich dir mal nen hübsches beispiel, denke ich ^^.

edit: sorry, habe festgestellt, dass ich demnächst nicht all zu viel zeit habe ^^
MrKeks.net
 

#Reaper

Newsposter

BeitragDo, Okt 27, 2005 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut...mmm... geht trotzdem nicht^^

Liegt vielleicht auch an LinePick() mit PickedTriangle(), da PickedTriagngle nur ein Triangle zurück geben kann..naja...

Öm...also die eine Stencil Engine da... is ziemlich kompliziert^^
Mal schauen, ob ich die umbauen kann...

Edit:
mmm..schlecht..ich habe mal gestestet, was passiert, wenn die camera innerhalb der kugel ist... kein schatten mehr Sad auch nicht bei EntityFx sphere,16....
ist schlecht, da ich dann als Schatten ein Cone nehmen wollte, und man auch durch den durch fliegen können sollte... Sad

MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

x-pressive

BeitragDo, Nov 03, 2005 10:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich das richtig verstanden habe, willst du lediglich auf der Atmosphere eines Planeten den Schatten eines anderen Darstellen, oder? Das könnte man ganz einfach lösen:

Gib jedem Planeten eine "Hülle" (Sphere) mit einer Transparenten Textur drauf, die nur einen schwarzen, gefüllten Kreis in der Mitte hat (benutze dafür eine Alpha-PNG-Textur und zeichne den Kreis mit sehr weichen Rändern). Das ist ein Schatten. Jetzt brauchst du diese Hülle nur jeweils in die Richtung des Nachbarplaneten drehen und der Planet hat einen Schatten. Du kannst ja noch mit Blendmodes und Alpha experimentieren, damit das optisch besser aussieht.

Das ist die wirklich denkbar simpelste Lösung. Könnte man auch noch ein wenig ausbauen. Du könntest statt ganzen Kugeln auch nur Halbkugeln benutzen, das spart unnötige Vertices. Oder du bastelst dir in einem Editor einfach nur eine runde, gewölbte Scheibe, deren Mittelpunkt im Zentrum des Planeten liegt. Die kannst du dann ja auch frei um den Planeten rotieren.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

#Reaper

Newsposter

BeitragSa, Nov 05, 2005 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Mmm...eher nicht.. mir ging es eher darum, das z.b. die gesteinsbrocken im Rind des Saturns, welche hinter ihm sind, im schatten sind, und die anderen nicht...da die steine auch bewegt werden sollen Wink
Aber das Projekt verschiebt sich eh erstmal etwas, da ich gemerkt habe, das ich doch noch etwas zu wenig vom Universum weis^^

Aber danke für eure antworten, werde bestimmt auf die mal zurück greifen Smile


MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group