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

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

1

21.11.2006, 16:17

Allgemeine Frage zu Shadern

hi,
ich habe mal eine frage. und zwar:

ich habe tiefenunschärfe, hdr, gamma-anpassung.... alles in meinem spiel. das kommt ja alles in die shader rein. aber irgendwann muss das ding ja der shader mal an die grenzen stoßen. wie macht man das dann wenn er nicht mehr operationen fassen kann.

PS: Die open genannten sachen sind nur beispiele.

Phili

unregistriert

2

21.11.2006, 18:04

Ich würd mal sagen es gibt nen paar Möglichkeiten:
1. Man optimiert den Shader...
2. Man fragt sich ob das wirklcih alles sein muss...
3. Man nimmt nen anderes Shader model, z.B. SM 4, da sollte man ncith so schnell an die Grenzen stoßen... an die Performance-Grenze übrigens schon... :lol:

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

3

21.11.2006, 18:04

Also soweit ich weiß, kannst du nicht mehr als 2 Shader (am Ende) habe... Den "RenderShader" und den PostscreenEffectShader. Insofen kannst du schon auf zwei aufteilen... Allerdings weiß ich nicht, ob es möglich ist, einen Shader auf "mehrere" aufzuteilen. Sprich: Es irgendwie zu bewerkstelligen, dass die Shader immer hintereinander geladen und ausgeführt werden. Mehrmaliges Rendern hilft da leider auch nicht weiter... also, ich wüsste nur eins: PACK WENIGER EFFEKTE REIN ;)
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

4

21.11.2006, 18:34

naja, irgendwie muss das ja gehen. die modernen spiele habe das ja auch. ich bin lange nicht soweit sowas wie hdr reinzupacken (alleine das erfodert ja schon ps3.0).

Phili

unregistriert

5

21.11.2006, 18:43

@Ghostrider
SM 3 hängt nciht direkt mit HDR-Rendering zusammen...
@Black-Panther
Theoretisch könnte man auch mhrere PostscreenEffectShader benutzen. Und verschiedene PixelSHader fürs normale Rendern könnte man am Ende überblenden...
Aber das wär alles EXTREM Performancesüchtig...[/quote]

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

6

21.11.2006, 20:13

mutlipass rendering und du kannst so viele shader haben wie du willst...

BlackSnake

Community-Fossil

  • »BlackSnake« ist der Autor dieses Themas

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

7

21.11.2006, 20:17

dot
das ich auch eine idee, habe ich gar nicht dran gedacht

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

21.11.2006, 20:26

Dass man für HDR Shader-Model 3.0 braucht, ist Quatsch. Es gibt sogar Techniken, die ohne Float-Render-Targets auskommen. Die wären dann sogar mit PS 1.x lauffähig.

Wie dot schon gesagt hat: Man wird selten alles in einen einzigen Shader packen. Viele Dinge wie z.B. Beleuchtung lassen sich in mehreren Durchgängen berechnen und dann mit Alpha-Blending "zusammenaddieren".

Natürlich wäre ein "Über-Shader" nett, der beliebig viele Lichtquellen beliebigen Typs mit Schatten, beliebige Materialien usw. in einem einzigen Durchgang berechnen kann, aber dabei wird meines Erachtens immer eine Menge Performance unnötig draufgehen, weil man ja dann gezwungen ist, den Shader sehr "allgemein" zu programmieren.

Phili

unregistriert

9

21.11.2006, 20:43

@David Scherfgen
Dass man für HDR kein Shader-Modell 3 benötigt, hab ich ja schon erwähnt. Aber das man cnithmal Floating-Point Berechnungen benötigt verwirrt mich. Sind die es ncith gerade, die HDR ausmachen? :?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

10

21.11.2006, 20:44

man kann das auch in integer texturen kodieren.
hat natürlich nicht die gleiche genauigkeit und kostet zusätzlich was.

die ersten implementierungen haben sowas in der richtung gemacht...

Werbeanzeige