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
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
//Pixelshder float4 BumpMapPixelShader(PixelInputType input) : COLOR { float4 textureColor; float4 bumpMap; float3 bumpNormal; float3 lightDir; float lightIntensity; float4 color; textureColor = tex2D( ColorMap, input.tex ); bumpMap = tex2D( BumpMap, input.tex ); bumpMap = (bumpMap * 2.0f) - 1.0f; bumpNormal = input.normal + bumpMap.x * input.tangent + bumpMap.y * input.binormal; bumpNormal = normalize(bumpNormal); lightDir = -lightDirection; if(!bOn) { lightIntensity = saturate(dot(input.normal, lightDir)); } else { lightIntensity = saturate(dot(bumpNormal, lightDir)); } color = saturate(diffuseColor * lightIntensity); color = color * textureColor; return color; } |
Zitat
Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FSA« (16.12.2012, 21:54)
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
//////////////////////////////////////////////////////////////////////////////// // Pixel Shader //////////////////////////////////////////////////////////////////////////////// float4 BumpMapPixelShader(PixelInputType input) : COLOR { float4 textureColor; float4 bumpMap; float3 bumpNormal; float3 lightDir; float lightIntensity; float4 color; for(int i = 0; i <= 1; i++) { textureColor = tex2D( ColorMap, input.tex ); bumpMap = tex2D( BumpMap, input.tex ); // Expand the range of the normal value from (0, +1) to (-1, +1). bumpMap = (bumpMap * 2.0f) - 1.0f; bumpNormal = input.normal + bumpMap.x * input.tangent + bumpMap.y * input.binormal; bumpNormal = normalize(bumpNormal); float3 lD = lightDirection; if(i == 1) { lD.xy = 0.0f; lD.z = 1.0f; } lightDir = -lD; if(!bOn) { lightIntensity = saturate(dot(input.normal, lightDir)); } else { lightIntensity = saturate(dot(bumpNormal, lightDir)); } float4 C = diffuseColor; if(i == 0) C.rgb = 0.7f; else { C.r = 1.0f; C.gb = 0.0f; } color += saturate( C * lightIntensity); } color = color * textureColor; return color; } |
Zitat
Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »FSA« (10.12.2012, 18:06)
Zitat
Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.
Zitat
Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.
Zitat
Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.
Administrator
Zitat von »David«
Der wievielte Thread zu deinem Shader ist das eigentlich jetzt schon?
Zitat von »David«
Es hat doch offenbar mit mehreren Passes funktioniert, d.h. dass es jetzt nicht funktioniert, liegt wohl nur an einem "dummen" Programmierfehler.
Zitat von »David«
Den zu finden liegt in deiner Verantwortung, die Community ist nicht dein Debugger. Ja, es gibt Shader-Debugger!
Zitat
Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.
Werbeanzeige