wined3d: Implement more GLSL instructions

Jason Green jave27 at gmail.com
Fri Jul 21 18:11:23 CDT 2006


On 7/21/06, Chris <chris.kcat at gmail.com> wrote:
> On Friday 21 July 2006 11:19, Jason Green wrote:
> > + /* Calculate reflection vector (Assume normal is normalized): RF =
> 2*(N.E)*N -E */
> > + shader_addline(buffer, "tmp0.w = dot(vec3(tmp0), %s);\n", src1_str);
> > + shader_addline(buffer, "tmp0 = tmp0.w * tmp0;\n");
> > + shader_addline(buffer, "tmp0 = (2.0 * tmp0) - %s;\n", src1_str);
>
> I'm hardly an expert, but couldn't this be simplified to:
>
> shader_addline(buffer, "tmp0 = reflect(-%s, vec3(tmp0));\n", src1_str);
>

Yeah, looks correct from the GLSL spec.  I basically just copied the
formula from the arb_shader routine and it seemed to display
everything the same in both modes.  It's probably worth simplifying,
though.  Either way should work.



More information about the wine-devel mailing list