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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

21

11.07.2016, 14:58

Wie berechnest du denn die interpolierten Texturkoordinaten? Wenn du keine dependent Texture Lookups hast, dann ist es möglich, die Ableitungen der Texcoords im Screenspace direkt zu berechnen und damit "richtiges" Mipmapping zu machen... ;)

ByteJunkie

Alter Hase

Beiträge: 891

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

22

11.07.2016, 16:00

Interssantes Projekt. :thumbup: Allerdings hab ich selbst noch nie etwas mit CMake gemacht. :huh: Aber Interessant ist das schon, weil man immer wieder auf Projekte stößt, die man mit CMake erstellen kann. :hmm:
Mach was Du nicht lassen kannst und lass was Du nicht machen kannst. ;)

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

23

11.07.2016, 16:26

Wie berechnest du denn die interpolierten Texturkoordinaten? Wenn du keine dependent Texture Lookups hast, dann ist es möglich, die Ableitungen der Texcoords im Screenspace direkt zu berechnen und damit "richtiges" Mipmapping zu machen... ;)

Ist ein Versuch wert. Ich werde da definitiv noch weiter mit experimentieren.
Allerdings ist gerade beim Software Rendering ja eigentlich die Idee, die MIP-Map für ein Polygon nur einmal auszuwählen.
Andernfalls springt man pro Pixel wieder zwischen den MIP-Maps hin und her und das sorgt natürlich für ganz schlechte Cache Lokalität.
Auch ein Grund warum bei den alten Rasterizer die Objekte (z.B. bei Half-Life die Charakter) mit ganz vielen aber dafür sehr kleinen Texturen gerendert wurden, wohingegen man heute auf der GPU eher wenige aber dafür ganz große Texture Atlasse verwendet,
um Texture Bindings zu reduzieren.

@ByteJunkie: CMake kann ich sehr empfehlen. Selbst ganz kleine Projekte mache ich nur noch damit.
Ich habe schon fast vergessen, wie man ein VisualStudio Projekt ohne CMake anlegt, weil das mit dem Tool einfach super schnell geht ^^
Und wenn deine Projekt Datei mal korrumpiert ist, einfach wieder bei CMake auf "Configure" und "Generate" klicken, und schwups, ist alles wieder da :-D

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

24

11.07.2016, 16:39

Wie berechnest du denn die interpolierten Texturkoordinaten? Wenn du keine dependent Texture Lookups hast, dann ist es möglich, die Ableitungen der Texcoords im Screenspace direkt zu berechnen und damit "richtiges" Mipmapping zu machen... ;)

Ist ein Versuch wert. Ich werde da definitiv noch weiter mit experimentieren.
Allerdings ist gerade beim Software Rendering ja eigentlich die Idee, die MIP-Map für ein Polygon nur einmal auszuwählen.
Andernfalls springt man pro Pixel wieder zwischen den MIP-Maps hin und her und das sorgt natürlich für ganz schlechte Cache Lokalität.
Auch ein Grund warum bei den alten Rasterizer die Objekte (z.B. bei Half-Life die Charakter) mit ganz vielen aber dafür sehr kleinen Texturen gerendert wurden, wohingegen man heute auf der GPU eher wenige aber dafür ganz große Texture Atlasse verwendet,
um Texture Bindings zu reduzieren.

Nun, du berechnest den Mip-Level zwar per Pixel, ändern tut der sich normalerweise aber nicht so oft; besonders wenn du trilineares Filtering verwendest sollte das mit dem Cache gar nicht so arg sein, würde ich mal meinen (zumindest wenn der Cache im Moment wirklich was bringt)... ;)

Interssantes Projekt. :thumbup: Allerdings hab ich selbst noch nie etwas mit CMake gemacht. :huh: Aber Interessant ist das schon, weil man immer wieder auf Projekte stößt, die man mit CMake erstellen kann. :hmm:

CMake ist ein furchtbarer Misthaufen. Leider gibt es nix besseres, darum verwendet es jeder. Und weil es jeder verwendet, hat es sich mittlerweile zum De-Facto-Standard etabliert, was es jeder Alternative (sofern sie mal existieren würde) noch schwerer machen wird, sich durchzusetzen. Im Moment klebt das Ding an C++ leider wie ein ausgekauter Kaugummi und so wie's aussieht, wir das erstmal so bleiben. Ich war schon mehrmals sehr knapp dran, mir selbst was zu bauen, mal schauen wie lange es noch dauert bis ich's nimmer aushalt. Wie jemand mal so passend festgestellt hat: "It's a pity that a language like C++ would end up with something like CMake as its most popular build system." Ich persönlich meide es so oft ich nur kann, was leider nicht oft genug der Fall ist...

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »dot« (11.07.2016, 16:47)


David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

25

11.07.2016, 21:20

Diskussion über CMake abgespalten, hat ja nichts mit dem Projekt zu tun.

Werbeanzeige