Forum
Contact





DirectX using C#
DirectX using C++
DirectX using Visual Basic



Latest Forum posts

 Account settings
  Posted by: igthorn
  When: 21/04/2014 at 10:20:00

 Pavtube 2014 Easter Deals with 20% off
  Posted by: igthorn
  When: 21/04/2014 at 10:16:23

 20% off on iMedia Converter for Mac
  Posted by: VIKIVannessa
  When: 20/04/2014 at 01:35:54

 Pavtube Video Converter Ultimate Deal
  Posted by: VIKIVannessa
  When: 20/04/2014 at 01:35:50

 Easter Day Deals
  Posted by: Applefly
  When: 19/04/2014 at 22:18:14

 40% OFF Pavtube DVD Ripper for Mac
  Posted by: VIKIVannessa
  When: 19/04/2014 at 02:02:54

 DVD Ripper with 40% off
  Posted by: VIKIVannessa
  When: 19/04/2014 at 02:02:22

 Get DVD Ripper Wind/Mac + $14 Coupon
  Posted by: VIKIVannessa
  When: 19/04/2014 at 02:02:03

 Backup DVD Escape Plan
  Posted by: Applefly
  When: 17/04/2014 at 06:00:12

 Disney DVDs to MP4
  Posted by: Applefly
  When: 17/04/2014 at 05:56:07

 DVD movies through media streamer
  Posted by: VIKIVannessa
  When: 16/04/2014 at 02:25:09

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 16/04/2014 at 02:20:51

 Blu-ray to Apple ProRes
  Posted by: Applefly
  When: 12/04/2014 at 00:47:46

 HD H.264 MP4 format
  Posted by: Applefly
  When: 12/04/2014 at 00:43:23

 DVD collection to computer
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:13:33

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:11:27

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:11:27

 DVD Ripper to populate
  Posted by: Applefly
  When: 04/04/2014 at 05:01:35

 kids and family watch DVD
  Posted by: Applefly
  When: 04/04/2014 at 04:59:21

 Blu-ray movie for your lovely kids
  Posted by: VIKIVannessa
  When: 02/04/2014 at 05:47:49




Topic: Lighting washout?



  
Goto parent category
  
Create a new user account


   Lighting washout?
 Poster : LoONeYChIKuN
 Posts: 2
 Country : US
 City: Seattle

  
Posted by LoONeYChIKuN on 02/01/2009 at 22:30:21
First of all I have to thank Riemer for these great tutorials.  You rock!

I'm having an issue with lighting with this tutorial.  Using your values for lighting presents this:


By changing the light direction vector to -0.5, -0.1, -0.5, it looks a little better, but still washed out, and I lose texture definition.


Here's the code I'm using for my pixel shader technique (which should be identical to Riemer's)


// -------- Texture Samplers --------
Texture xTexture0;
Texture xTexture1;
Texture xTexture2;
Texture xTexture3;

sampler TextureSampler0 = sampler_state { texture = <xTexture0> ; magfilter = LINEAR;
minfilter = LINEAR; mipfilter = LINEAR; AddressU = wrap; AddressV = wrap;};

sampler TextureSampler1 = sampler_state { texture = <xTexture1> ; magfilter = LINEAR;
minfilter = LINEAR; mipfilter = LINEAR; AddressU = wrap; AddressV = wrap;};

sampler TextureSampler2 = sampler_state { texture = <xTexture2> ; magfilter = LINEAR;
minfilter = LINEAR; mipfilter = LINEAR; AddressU = mirror; AddressV = mirror;};

sampler TextureSampler3 = sampler_state { texture = <xTexture3> ; magfilter = LINEAR;
minfilter = LINEAR; mipfilter = LINEAR; AddressU = mirror; AddressV = mirror;};

struct MTVertexToPixel
{
    float4 Position        : POSITION;
    float4 Color        : COLOR0;
    float3 Normal        : TEXCOORD0;
    float2 TextureCoords : TEXCOORD1;
    float4 LightDirection : TEXCOORD2;
    float4 TextureWeights : TEXCOORD3;
};

struct MTPixelToFrame
{
    float4 Color    : COLOR0;
};

MTVertexToPixel MultiTexturedVS( float4 inPos : POSITION, float3 inNormal: NORMAL, float2 inTexCoords: TEXCOORD0,
    float4 inTexWeights:  TEXCOORD1)
{
    MTVertexToPixel Output = (MTVertexToPixel)0;
    float4x4 preViewProjection = mul(xView, xProjection);
    float4x4 preWorldViewProjection = mul(xWorld, preViewProjection);
    
    Output.Position = mul(inPos, preWorldViewProjection);
    Output.Normal = mul(normalize(inNormal), xWorld);
    Output.TextureCoords = inTexCoords;
    Output.LightDirection.xyz = -xLightDirection;
    Output.LightDirection.w = 1;
    Output.TextureWeights = inTexWeights;
    
    return Output;
}

MTPixelToFrame MultiTexturedPS(MTVertexToPixel PSIn)
{
    MTPixelToFrame Output = (MTPixelToFrame)0;
    
    float lightingFactor = 1;
    if(xEnableLighting)
        lightingFactor = saturate(saturate(dot(PSIn.Normal, PSIn.LightDirection)) + xAmbient);
    
    Output.Color = tex2D(TextureSampler0, PSIn.TextureCoords) * PSIn.TextureWeights.x;
    Output.Color += tex2D(TextureSampler1, PSIn.TextureCoords) * PSIn.TextureWeights.y;
    Output.Color += tex2D(TextureSampler2, PSIn.TextureCoords) * PSIn.TextureWeights.z;
    Output.Color += tex2D(TextureSampler3, PSIn.TextureCoords) * PSIn.TextureWeights.w;
    
    Output.Color *= lightingFactor;
    
    return Output;
}

technique MultiTextured
{
    pass Pass0
    {
        VertexShader = compile vs_1_1 MultiTexturedVS();
        PixelShader = compile ps_2_0 MultiTexturedPS();
    }
}


Any help on this would be greatly appreciated!!

Thanks
 Poster : LoONeYChIKuN
 Posts: 2
 Country : US
 City: Seattle

  
Posted by LoONeYChIKuN on 02/01/2009 at 22:33:00
Bah...Stoopid image links, here they are again:

Original:

Adjusted:

  
Post a new reply
 





Google
 
Web www.riemers.net
If you appreciate the amount of time I spend creating and updating
these pages, feel free to donate -- any amount is welcome !
- Website design & DirectX code : Riemer Grootjans -
©2006 Riemer Grootjans


News
Home
Forum
XNA 2.0 Recipes Book (8)
XNA 3.0 Recipes Book (8)
Downloads
Extra Reading (3)
Matrices: geometrical
Matrix Mathematics
Homogenous matrices
Community Projects (1)
Tutorials (160)
XNA 4.0 using C# (89)
DirectX using C# (54)
Series 1:Terrain (14)
Opening a window
Linking to the Device
Drawing a triangle
Camera
Rotation - Translation
Indices
Terrain creation
Terrain from file
DirectInput
Importing bmp files
Colored vertices
DirectX Light basics
Mesh creation
Mesh lighting
Series 2: Flightsim (19)
Series 3: HLSL (19)
Short Tuts (2)
Resizing problem
Checking Device caps
DirectX using C++ (15)
DirectX using VB (2)