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

MannyDasMammut

Treue Seele

  • »MannyDasMammut« ist der Autor dieses Themas

Beiträge: 76

Wohnort: Baden - Würtemberg / Achern

Beruf: Schüler

  • Private Nachricht senden

1

27.08.2004, 02:52

Rendervorgang in meiner Engine

Hallo,

ich denke momentan darüber nach wie ich es wohl am gescheitesten anstellen kann mein Renderingvorgang zu gestalten.

Mir wär eine einfache dynamisch verkettete Liste am liebsten in der ich einfach alle Modelle egal welche Typen nach einander durchrendere. Die Liste hätte für mich den Vorteil die Objekte mit Alphatransparenz besser sortieren zu können. Aber wie kann ich es anstellen das die Liste alle Datenstrukturen bzw. Modellklassen meiner Engine unterstützt. Als Listeneintrag hatte ich mir in etwa so eine Struktur vorgestellt.

Quellcode

1
2
3
4
5
6
7
struct sRenderListEntry
{
BOOL bRender;
BOOL bAlphaTransparancy;
DWORD dwObjectType; 
void* pObject;
};


Ob das mit dem void* Zeiger Funktioniert weiß ich noch nicht. Aber meine eigentliche Frage ist wie kann ich auf die Renderfunktionen der Modellobjekte zugreifen.
Werde ich hier eigentlich noch gebrauch ansonsten würd ich gerne nach Hause gehen und meine graue Wand anstarren.

2

27.08.2004, 03:07

Ich kenne ein Zauberwort, das mich im Moment auch Beschäftigt und das sicher die Lösung zu deinem Problem ist, dass Zauberwort heisst:

Scene Graph.

3

30.08.2004, 01:24

Bist ja auf dem richtigen Weg. Aber einige Sachen sollte man ändern.

1) Eine verkettete Liste ist nicht so ideal. Du solltest eher einen Vektor nehmen. Da dann die Dereferenzierung wegfällt.

2) Die Struktur an sich ist OK. ABer das void* sollte entweder durch einen Funktionszeiger erzetzt werden, oder wenn C++ sein soll, dann durch ein Interface.

Aber du solltest noch einmal die Such-Funktion bemühen. Zu diesem Thema gibbet noch den ein oder anderen Thread.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige