Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Gotbread

Alter Hase

  • »Gotbread« ist der Autor dieses Themas

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

1

26.11.2009, 15:40

organisation von shadern, objekten, materialen, etc...

Hallo :)

Ich überlege mir grade ein System zum organisieren von besagten
dingen. Atm kann jedes Objekt ein Shader und ein Material haben.

Jeder Shader kann seine konstanten dabei selber verwalten.
allerdings ist es extrem unflexibel, wenn ein shader eine spezielle
textur braucht, oder in ein rendertarget.

wie sollte man so ein system aufbauen? kennt ihr gute ansätze dafür?
die frage is vllt n bissel offen, aber ich hoffe ich vertseht mich :D

edit: am besten wäre es, wenn das system zukunftsicher ist (DX10, DX11)
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

Crush

Alter Hase

Beiträge: 383

Wohnort: Stuttgart

Beruf: Softwareentwickler

  • Private Nachricht senden

2

26.11.2009, 16:38

Ich sammel alle Materialien, Texturen und Shader beim Laden in ein öffenliches Array und kontrolliere, ob irgendwo etwas mehrfach verwendet wird. Die Texturen und Shader werden sofort auf die Grafikkarte geladen und die IDs gemerkt. Danach könnte ich die Texturen theoretisch schon aus dem Speicher werfen. Wenn ein Shader oder ein Material variieren kann, dann muß ich eben einen neuen Namen verwenden für den gleichen Inhalt. Ich will mir noch eine interne Kopierroutine machen, um Materialien, Texturen usw. einfach von Vorlagen als Kopie einzufügen um irgendwelche Änderungen zur Laufzeit vornehmen zu können.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

3

26.11.2009, 17:04

ein denke ähnlicher ansatz ist alle diese dinge in managern zu verwalten und alle objekte, die diese dinge brauchen, fordern diese resourcen von diesen managern an und referenzieren sie.
das hat eigl wenig mit dx10/dx11 zu tun, da würde man solch eine architektur eigl nicht ändern ;)

Gotbread

Alter Hase

  • »Gotbread« ist der Autor dieses Themas

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

4

26.11.2009, 17:29

ich mein das jetzt so:

jedes objekt wird beim device unter einer group-id registriert.
über die id kann man später entscheiden, welche objekte gerendert
werden sollen.

jetzt kann diesem objekt ein material, mehrere texturen und shader
zugewiesen werden. sobald ein objekt gerendert werden soll,
setzt es alles was ihm zugewiesen wurde, texturen, shader, etc...

bei normalen objekten klappt das ganz gut, aber bei effekten wie
schatten, wasser und postprocessing ist das system nicht flexibel genug.

dann muss man dem shader nämlich die texturen und rendertargets
selber setzen. ideal wäre es, wenn das automatisch gehen würde.

unreal fasst zum material auch shader und texturen zusammen,
die idee hört sich auch brauchbar an.

ich brauche halt einen ansatz, der effekte und normale objekte
gleich behandelt, den das sich die objekte selber darum kümmern
müssen, für den effekt die richtigen texturen, etc zu haben,
passt nicht ganz.
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

5

26.11.2009, 18:02

Wenn de ansätze und so willst, lade dir mal das BreezEngine HD Video Teil 1 runter. Ist echt gut, und auf ner 1/2 h ist die Verwaltung in der Engine gut erklärt.

Gotbread

Alter Hase

  • »Gotbread« ist der Autor dieses Themas

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

6

26.11.2009, 20:34

ich hab mir schon den code auf der seite angesehen, sowie die präsentation.
trotzdem finde ich das vid nicht :( hast du einen link?
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

7

26.11.2009, 20:49

http://www.devmania.org/videos/ und dann das richtige wählen.
(breezEngine HQ VIDEO 1)

Gotbread

Alter Hase

  • »Gotbread« ist der Autor dieses Themas

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

8

26.11.2009, 22:31

da is kein ton dabei?! :(
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

9

27.11.2009, 16:07

Doch, bei mir ist da Ton beim HQ Video-Download. und in der Streamingversion auch.
Kanns sein, dass du die Streamingversion anguckst. Dann aufpassen. Das Video zur Breez-Engine ist unter dem downloadlink für die Beiden HQ-Videos.

Crush

Alter Hase

Beiträge: 383

Wohnort: Stuttgart

Beruf: Softwareentwickler

  • Private Nachricht senden

10

27.11.2009, 16:39

Wenn das Video keinen Ton hatte, habe ich das immer ausdrücklich in Klammern dahinter geschrieben - ansonsten ist es mit Ton. Im Zweifelsfall mal die Codecs prüfen (H264 mp4-avc & mp3).

Werbeanzeige