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

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

21

04.01.2011, 16:38

Nochmal etwas deutlicher fuer dich:
256*256*256 auf 128*128*128 zu reduzieren ist effektiv das Eliminieren jedes zweiten Wertes.
Schwachsinn.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

22

04.01.2011, 16:42

"Kleinermachen" bedeutet ja nicht, dass nur jeder zweite Wert genommen wird. Die Werte beim kleinermachen interpoliert; das macht die grafikkarte genauso - je nachdem, welches sampling eingestellt ist.

Schorsch

Supermoderator

  • »Schorsch« ist der Autor dieses Themas

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

23

04.01.2011, 16:57

Ich glaube ich steig so langesam dahinter;)
Die Volumentextur ist die Textur, die alle möglichen Farbwerte enthält. Und über die einzelnen Farbanteile (RGB) komme ich dann an den Voxel bzw die Farbe. Wobei ich den genauen Sinn dahinter nicht nicht verstehe. Mag aber auch daran liegen das ich alles andere als erfahren bin was Shader schreiben angeht. Ich hätte jetzt die einzelnen Farbwerte der neuen Farbpalette als Vektor oder was auch immer in eine Liste gesteckt und hätte dann ne Map gefüllt wobei jeder Farbe auf einen Index der Liste verweist. Dem Shader hätte ich dann diese Map gegeben und im Shader selbst halt geguckt welche aktuelle Farbe vorhanden ist und den passenden Eintrag zurückgegeben. Dabei hätte ich jetzt keine Volumentexturen ;) Ich vermute ihr wollt das Mapping selbst in eine Textur auslagern? Erklärts doch bitte mal für doofe;) Wie gesagt bin was diese Sachen angeht Anfänger, da ich eigentlich eher Entwickler als Grafiker bin;)
Mit dem verkleinern hab ich geblickt. Quasi einfach Bereiche zusammenfassen;)
Danke
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

24

04.01.2011, 17:32

Nochmal etwas deutlicher fuer dich:
256*256*256 auf 128*128*128 zu reduzieren ist effektiv das Eliminieren jedes zweiten Wertes.
Schwachsinn.

In jeder Dimension natürlich... Insgesamt ist es eine Reduktion auf 1/8 der gesamten Datenmenge. Und? Du redest da über was anderes als ich. :)

"Kleinermachen" bedeutet ja nicht, dass nur jeder zweite Wert genommen wird. Die Werte beim kleinermachen interpoliert; das macht die grafikkarte genauso - je nachdem, welches sampling eingestellt ist.

Du kannst aber nicht einfach etwas interpolieren und hoffen, dass das Mapping dann auch noch stimmt. Sonst kannste gleich nur die Werte 0 und 255 nehmen, denn der Rest dazwischen ist linear interpolierbar.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

25

05.01.2011, 12:39

Einem Shader kann man keine Map geben. Aber eine Textur.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

26

05.01.2011, 13:09

Was ja nur eine Frage der Interpretation der Daten darstellt. Aber mach nur :)
Vielleicht sollten wir das Zeug dann auch "Bump-Textur" und "Normal-Textur" nennen und nicht mehr Maps.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

TGGC

1x Rätselkönig

Beiträge: 1 799

Beruf: Software Entwickler

  • Private Nachricht senden

27

05.01.2011, 14:09

BlueCobold versuch doch mal ein bisschen mitzudenken, oder muss ich dir immer die gesamte Diskussion quoten

Schorsch sprach davon: "Ich hätte jetzt die einzelnen Farbwerte der neuen Farbpalette als Vektor oder was auch immer in eine Liste gesteckt und hätte dann ne Map gefüllt wobei jeder Farbe auf einen Index der Liste verweist". Und solche Datenstrukturen gibts auf der GPU nun mal nicht - daher mein Vorschlag einfach die r,g,b Werte der Farbe als Texturkoordinaten einer Volumetextur nutzen und dort das Ergebnis des Shaders rausholen.

Weiss nicht, warum so eine Trivialitaet hier so aufgeblasen wird. Der Shader waeren so 5 Zeilen und das Erstellen der Textur ein paar geschachtelte Loops. Ob man da dann nochmal Speicher sparen kann oder muss, ist schon wieder premature Optimization, anstatt erstmal das eigentliche Problem zu loesen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »TGGC« (05.01.2011, 14:25)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

28

05.01.2011, 16:23

Das war mir durchaus klar. Wir haben ja auch beide (du und ich) über Texturen geredet. Trotzdem kann ich das doch "Map" nennen ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

  • »Schorsch« ist der Autor dieses Themas

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

29

05.01.2011, 21:01

Hab es mal programmiert. Allerdings noch nicht als Shader sondern als normalen Code. Ohne die Volumentextur und dafür mit einer Liste. Funktioniert und ist zufriedenstellend. beim Shader macht das mit der Volumentextur allerdings Sinn(Habe da heut auf dem Weg zur Uni nochmal drüber nachgedacht). Ansonsten ist das Problem mit der Größe in meinem Fall etwas größer. Da ich das in Xna umsetzen wollte, würde ein Farbwert normalerweise 32Bit haben(Man kann sicherlich auch Texturen mit kleineren Farbinformationen erstellen) da Xna normalerweise noch 8Bit für den Alphakanal benutzt. So würde man dann im Normalfall auf 512mb für die Volumentextur kommen. Aber naja wie man diese verkleinern könnte wurde ja schon genannt. Danke für die Hilfe:)
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

30

06.01.2011, 07:01

also 256*256*256*256 is bei mir mehr als 512mb ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige