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

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

11

24.06.2011, 19:02

Ok. Danke für die schnelle Antwort...
Werd mich die Tage mal dran machen...

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

12

01.07.2011, 14:11

Muss ich mich in GLSL auch um das Faceculling kümmern oder geschieht das bereits vorher?

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

13

01.07.2011, 14:16

Das Faceculling passiert entsprechend deinen Einstellungen (glCullFace, glFrontFace, ...) natürlich automatisch.

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

14

01.07.2011, 14:19

Ahh okay...
Ich hatte schon gesucht wo genau das in der Pipline passiert bin aber nicht fündig geworden

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

15

01.07.2011, 14:26

Im Triangle Setup, also nach dem VertexShader und vor dem Rasterizer.

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

16

05.07.2011, 19:39

Kann ich in GLSL irgendwie abfragen ob eine Lichtquelle enabled ist oder nicht?
Habe das bis jetzt mit bool variablen gelöst die ich übergeben habe. Finde das aber nicht wirklich schön.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

05.07.2011, 19:51

Verwendest du die fixedfunction Lichter? Wenn du schon Shader verwendest dann lass die FFP doch einfach bleiben. Schreib einen Shader für 1, 2, 3, ... Lichtquellen (evtl. bedingte Kompilierung).

botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

18

05.07.2011, 19:53

Ich hab mir auch schon überlegt ob ich das umstellen soll aber dann muss ich massig uniform varieblen binden wenn ich alle möglichen lichteinstellungen verwenden wollte.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

19

05.07.2011, 20:01

Ja dann muss man alles in Uniforms übergeben. So macht man das eben. Mit Ausnahme von gl_DepthRange ist der ganze eingebaute Uniform State deprecated (ja, auch die ganzen Matritzen), sollte also nichtmehr verwendet werden.

Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von »dot« (05.07.2011, 20:24)


botlin

Treue Seele

  • »botlin« ist der Autor dieses Themas

Beiträge: 139

Wohnort: Berlin

Beruf: Fachinformatiker für Anwendungsentwicklung, Student Internationale Medieninformatik

  • Private Nachricht senden

20

05.07.2011, 21:13

Kann mir mal jemand Helfen?
Seh ich einen Fehler nicht?

Folgende Struktur habe ich in GLSL

HLSL-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct light
{
bool enabled;
vec4 ambient;
vec4 diffuse;
vec4 specular;
vec4 position;
vec4 halfVector;
vec3 spotDirection;
float spotExponent;
float spotCutoff;
float spotCosCutoff;
float spotOuterConeCutOff;
float constantAttenuation;
float linearAttenuation;
float quadraticAttenuation;
};

uniform light Lights[gl_MaxLights];


Mit diesem Aufruf bekomme ich eine gültige Position
int position = Gl.glGetUniformLocation(shader, "Lights["+i+"].enabled");


Mit diesem nicht mehr
position = Gl.glGetUniformLocation(shader, "Lights["+i+"].position");

bei allen anderen habe ich auch -1 Rausbekommen

Werbeanzeige