IrrlichtWrapper 1.05 (leider immer noch beta)

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
neotoma
Beiträge: 202
Registriert: 13.09.2004 16:16
Kontaktdaten:

Beitrag von neotoma »

Hmmm....
32000-Planes ? What the hell.... Okay - was immer der Kunde wünscht.. ;-)
Also ich denke da könnte man schon einiges tricksen, um alleine diese Zahl erheblich zu reduzieren.

Wenn ich das richtig verstanden habe, würde es reichen wenn Du den Z-Buffer An/Ausstellen könntest. Oder ?
Also Du kannst jeder einzelnen Node mitteilen ob sie im Z-Buffer liegt

Nur als Beispiel:

Code: Alles auswählen

;Disable Depth-Testing
IrrSetNodeMaterialFlag(*node, #IRR_EMF_ZBUFFER, #False)

; disable z-writes
rrSetNodeMaterialFlag(*node, #IRR_EMF_ZWRITE_ENABLE, #False)
Und Du kannst auch die far-value manipulieren, in kombination mit etwas Nebel (Fog).....

Hoffe das hilft....


Mike
tft hat geschrieben:Hallo ...

Zwei mal Rendern ist zwar nicht schlimm. Aber wie sage ich Irrlicht das er beim Zweiten Rendern nicht den ZBuffer löscht. In den Camera Optionen habe ich nichts gefunden.

Die sache mit der Node reihenfolge ist für bestimmte tricks nötig. Wenn zum beispiel der Raum durch den ZBuffer in der Tiefe begrenzt ist. Kann man durch geschicktes Arbeiten mit Scale und Node reihenfolge, einen fiel Teiferen Raum darstellen. Ich brauche konkret eine Mesh das den Sternen hintergrund darstellt. Das mesh ist aus etwa 32000 Planes mit einer TExture 2*2. Nun kann ich wegen der unterschiedlichen Grafikkarteneigenschafften die Planes nicht 200000 einheiten in die Tiefe versetzten. Da sonst der rechenaufwand durch die benötigte grössere Scalierung ins bodenlose fällt. Wenn das Mesh aber nur 10 Einheiten im Radius hat. Dafür aber immer als erstes gerendert wird. Geht es schnell und siet toll aus. Dann sind da natürlich noch die Planeten ... (SPACEGAME) Um ein einigermassen echtes ausssehen und noch dazu das Landen auf demselben zu realisieren. Benötige ich eine Sphere von mindestens 1000000 einheiten durchmesser. Das gibt ganz eklige Rechenfehler auf dem Bildschirm. Aber eine Sphere mit 1000 Durchmesser und in der reihenfolge gleich nach dem Sternen Mesh plaziert. Wirkt erstaunlich echt. Die restlichen objecte können normal dargestellt werden. Da ihre entfernung sowiso durch ein Object LOD gesteuert wird.

In der hoffnung dir etwas mer Klarheit zu meinen Ziehlen zu gewären.

TFT
Alle Rechtschreibfehler unterliegen der GPL und dürfen frei kopiert und modifiziert werden.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hallo ...

das hört sich fielversprechend an. Werde damit Experimentieren. Aber wie ich beim zweiten Render durchgang der Camera mitteile das der hintergrund nicht gelöscht werden soll. Weis ich immer noch nicht. Ausserdem erinnere ich mich das das mit dem Doppelt Rendern bei Irrlicht wohl zu problemen fürt. HAbe ich hir irgendwo gelesen....

Bin halt von B3D einfach verwöhnt. Da gibts für sowas alles befehle.....
Aber ich bereue nicht mal in PB was in 3D machen zu wollen. Die ersten Experimente sind fielversprechend. Wärend in B3D unter DX7 maximal 3000 Entitys(Node) zur Graka gesendet werden und dabei höchstens 15 FPS rauskommen. Gets mit Irrlicht und DX9 mit 13000 bei 15 FPS. Das ist schon ein ordentlicher leistungs schub. Wobei natürlich keine Optimirungen drinn sind.

MfG TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hi ....

So ... habe das mit dem Z Puffer probiert und habe jetzt das problem. Das die Objecte in der reihenfolge gezeichnet werden. In der sie mit IrrAddMeshToScene( *Mesh ) eingefürt wurden. Gibt es eine möglichkeit. Diese Objecte innerhalb von Irrlicht zu sortieren.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
Thalius
Beiträge: 476
Registriert: 17.02.2005 16:17
Wohnort: Basel / Schweiz

Beitrag von Thalius »

Weniger ist mehr! Um mal aus meiner Sig vom Englischen Board zu rezitieren:

"In 3D there is never enough Time to do Things right,
but there's always enough Time to make them *look* right."

Ein Realistischer Hintergrund lässt sich mit wesentlich weniger Polygonen erzielen als du denkst : Das geheimnis heisst Shading ! -> Teste mal mit Gouraud Shading auf deinem Material.

Heutige Spiele verwenden tendenziell-zunehmend weniger Polygone. Da im Realtime 3D sehr viel getrickst wird. Heutige Karten haben immer mehr und mehr Shader Prozessoren - mit welchen all das Detail gezaubert wird. Allerdings sind diese Shader Programme ( von welchen es tonnen vorgefertigte gibt -> hab ich glaub in der linksektion hier irgendwo mal verlinkt *grübel*.. ) einiges komplexer Handzuhaben als einfache Texturen und erfordern noch etwas einarbeitung in GLSL ( OpenGL Shader Language ) und HLSL ( VOn DirectX verwendete Shader Language ) .. oder jeweils FX welche beides unetrstuezt, jedoch relativ neu ist.

Je mehr du reduzieren kannst desto besser. Zb auch selbst entfernte Objekte austauschen oder der Zeichenreihenfolge spielen etc.
Ein 1000000 Millionen Kilometer entfernter Stern/Planet .. oder sonstiger Wurmkörper :mrgreen: ... sieht als Billboard genauso gut aus ( wenn nicht noch besser , da du mit diesen zb auch viel netter "finetunen" kannst ) wie ein sorgfältig erstelltes Model.

Auch beim Modeln kann man mit dem sogenannten "Normall Mapping" ungeahnten Realismus aus verhältnismässig wenig Polygonen heraus holen - indem man diese hochdetailliert vorberechnet ( Siehe: http://www.purebasic.fr/german/viewtopi ... 452#180452 )

Überleg dir einfach den besten Szenenaufbau und was wirklich nötig ist. Ich meine hiermit nicht abzuspecken oder sich zu begrenzen. Sondern stell dir die Frage was du im moment wirklich auf dem Bildschirm siehst ( im 2D lahmen 1000 Sprites aufs mal den PC auch aus ... doch das hat niemanden mit ein wenig Grips aufgehalten aus weniger - mehr zu machen -> "muss ich sprite xy eigentlich jeden loop neuzeichnen ?")... im 3D ist das sehr ähnlich und shclussendlich ist ein Monitor ja auch nur eine 2D Fläche - und je nach Qualität und Fähigkeiten der Grafikkarte und des verwendeten Treibers / Subsystems
varriieren die Leistungen der Polygonzahlen & Shadermöglichkeiten beträchtlich.
Schlussendlich muss man sich Fragen, ab welcher Hardware soll mein Spiel laufen , lohnt es sich noch alternative Material/Zeichnugs/Shader Methoden für ältere Karten einzubauen? Solang man ohne Shader arbeitet muss man sich hierzu kaum Gedanken machen - die meisten der Effekte laufen über einen einfachen FixedPipeline GPU fast nativ. Aber bei diesen ( oft älteren Karten ) haperts oft auch an der Polygon Leistung ( niedriger Speicher und Core Takt ) - auch viele der in normalo-aldi pc verbauten karten sind mit billig sd rams ausgestattet und oft mit übertakteten zwischen serie-gpu prozessoren asugestatett ... leider...).

Im Endeffekt bei verwendung von Shadern im PBIW kommts eigentlich nur auf ein paar IF Abfragen () und alternative materialien/methoden an.

Code: Alles auswählen

If IrrQueryFeature(#IRR_EVDF_*)
...
Cheers,
Thalius
"...smoking hash-tables until until you run out of memory." :P
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hallo...

danke für deine Ausfürungen. Die sache mit "Weniger ist mehr" beherzige ich für gewönlich. Es geht mir nicht darum, eine Sphere mit X Tausend Objecten darin, dazu zu verwenden einen Himmel zu erzeugen. Sondern eine einzelne Node, die aus X Dreiecken besteht die sich ins Tentrum gewand mit einer Texture 2*2 Pixel ausgestattet sind. Diese kleine Fläche bewirkt ein automatisches Schading an den Rändern. Auch ohne Pixelshader. Das ist eine eigenart aller Grakas. Das wirkt gestochen scharf. Ausserdem kann man durch Mutation der Vertex Positionen die minni Sterne auch pulsieren lassen.
Da ich keine Grosse TExture verwenden will. Fallen alle anderen Möglichkeiten die auch auf 1280*1024 noch gut aussehen aus. Ausser es gibt dazu einen Trick der mir noch nicht bekannt ist :-) (Man lernt ständig dazu)
Shader möchte ich nicht einsetzen. Das Game soll auch auf allen alten Grakas laufen. Und eine Erweiterung auf Shader kann ich ja immernoch machen. Ich suche also immernoch einen Weg um Nodes innerhalb einer Sceene selber in ihrer darstellungreihenfolge zu sortieren.

Da biss jetzt doch sehr Kompetente antworten kamen. Binn ich guten Muttes das sich daein weg finden wird.

MfG TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

Hallo,
ich habe eine Frage, ich weis net, ob ich diese Frage schonmal gestellt habe, aber egal, hier ist meine Frage :mrgreen:
Gibt es Tutorials für die Irrlicht-Engine?

\\Zeite Frage:
Wer kennt sich von euch alles gut aus mit der Irrlicht-Engine?
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
Max_der_Held
Beiträge: 595
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Beitrag von Max_der_Held »

ah ich ! ich kenn mich aus *hand wedel* :P aber nur'n bisschen..
@RSBASIC:
  • es sin beispiele dabei, wennstas downloadest. (meistens sehr hilfreich; es hilft auch, wennst ein kleines projekt mit irrlicht anfängst, zum kennenlernen und hilfe.. is dabei (einige wenige befehle fehlen..))
frage:
  • wie weit is schon des ImageGUI-Example fertig?
    ( ich versuch grad hinter die funktionsweise zu kommen ... *hirn rauch*)
frage2:
  • gibts den splineanimator auch für "um so unso viel Koordinaten pro sekunde" ? also: ich geb ihm 4 punkte, und er geht mit konstanter geschwindigkeit von einem zum anderen (z.b. 80 km/h..)
frage3:
  • wie kann ich auf ner Textur was zeichnen? z.b. ein einschussloch, oder sowas
und: gibts schon ein Shader-tutorial ? especially für bumpmapping... *hm.*

mfg, und gute nacht,

draufgeher.
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@Max_der_Held
>ah ich ! ich kenn mich aus *hand wedel* :P aber nur'n bisschen..
>@RSBASIC:
>es sin beispiele dabei, wennstas downloadest. (meistens sehr hilfreich; es hilft auch, wennst ein kleines projekt mit irrlicht anfängst, zum kennenlernen und hilfe.. is dabei (einige wenige befehle fehlen..))
Mir gehts ja darum, wenn ich eine Frage habe, wo ich nicht weiter komme, an wen ich mich wenden soll. :-)
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Beitrag von tft »

Hallo..

also hir ist doch der richtige Ort. Ob du allerdings eine Antwort erhälst, liegt in den sternen. Ich habe bis jetzt fast immer eine brauchbare Antwort erhalten. Du must nur etwas Geduld mitbringen und immer mal wieder diesen Thread durchstöbern. Eine direkte Person als Ansprechpartner wird man nur durch Einladung erhalten. Lies die Theman die sich mit Irrlicht befassen und frage die Leute die eine inteligente Antwort geschrieben haben.

Ich selber arbeite mich gerade selber in IrrLicht ein. Komme von Blitz3D und muss mich doch erheblich umstellen. Aber es geht ganz gut. Die Doku ist lausig. Aber die IrrlichtWrapper.pdi hat nützliche hinweise zu den Funktionnen. Einige sogar auf deutsch.

PM an mich ist ebenfals möglich. Aber mein wissen ist bis anhin noch recht beschrängt.

MfG TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Beitrag von RSBasic »

@tft
Ok, danke, werde ich dann meine Frage hier stellen.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten