source: trunk/vizservers/nanovis/shaders/pointsvp.cg @ 827

Last change on this file since 827 was 827, checked in by vrinside, 14 years ago

Added color blending with point sprite texture

File size: 1.4 KB
Line 
1
2void main(in float4 posin : POSITION,
3                in float4 colin : COLOR0,
4                out float psize : PSIZE,
5                out float4 posout : POSITION,
6                out float4 colout : COLOR0,
7                uniform float atten,
8                /*uniform sampler2D normal,*/
9                uniform float4 posoffset,
10                uniform float4 basepos,
11                uniform float4 scale,           
12        uniform float4x4 modelview,
13        uniform float4x4 projection)
14{
15
16        float4 vec, homeye, eye;
17        vec.xyz = posin.xyz;
18        vec.w = 1.0;
19        homeye = mul(modelview, vec);
20        posout = mul(projection, homeye);
21       
22        float4 p = mul(modelview, vec);
23        //psize = scale.x   *(p.w / -p.z) * 10;
24       
25        //psize = 5 * scale.x;
26        //psize = 2 * p.w / -p.z;
27        //colout = float4(colin.xyz,0.1);
28       
29       
30//      float tmp = posin.w * rsqrt(dot(eye.xyz, eye.xyz));
31//      psize = scale.x * max(tmp, 1.0);
32        psize = 10 * p.w / -p.z;
33       
34        colout = float4(colin.xyz, colin.w * 0.25);
35/*
36        float4 vec, homeye, eye;
37        float tmp;
38       
39        vec.xyz = posin.xyz;//(posin.xyz + posoffset.www) * basepos.www + basepos.xyz;
40        vec.w = 1.0;
41       
42        homeye = mul(modelview, vec);
43        posout = mul(projection, homeye);
44       
45        //eye = homeye / homeye.w;
46       
47        //tmp = posin.w * basepos.w * scale.w * rsqrt(atten * dot(eye.xyz, eye.xyz));
48       
49        //psize = scale.x * max(tmp, 1.0);
50        //tmp = min(tmp, 1.0);
51        //colout = colin;
52        //tmp = colin.w * scale.z * tmp * tmp;
53        //colout.w = max(tmp, 4.0/256);
54       
55        psize = 5.0;
56
57       
58        colout = float4(0.0, 0.0, 1.0, 0.1);
59*/     
60}
Note: See TracBrowser for help on using the repository browser.