当前位置: 首页>>代码示例>>C#>>正文


C# Shader.SetBaseLight方法代码示例

本文整理汇总了C#中Shader.SetBaseLight方法的典型用法代码示例。如果您正苦于以下问题:C# Shader.SetBaseLight方法的具体用法?C# Shader.SetBaseLight怎么用?C# Shader.SetBaseLight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Shader的用法示例。


在下文中一共展示了Shader.SetBaseLight方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: OnLoad

        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            Title = "univ engine";

            shader = ShaderLibrary.Get("basic");
            line_shader = ShaderLibrary.Get("line");

            ObjLoader loader = new ObjLoader("teapot.obj");
            model = loader.Assemble();
            model.Rescale(0.02f);

            octree = new Octree(shader);
            octree.Rescale(10);

            axis = new Axis(line_shader);

            this.camera = new Camera(Width, Height);
            GL.Viewport(0, 0, Width, Height);

            /* lighting */
            sunlight = new DirectionalLight(new BaseLight(new Vector3(1.0f, 0.5f, 0.2f), 1.0f),
                                            new Vector3(0, -1, -2));
            ambient = new BaseLight(new Vector3(1.0f), 0.5f);
            point = new PointLight(new BaseLight(new Vector3(0.0f, 1.0f, 0.0f), 0.35f),
                                   new Attenuation(0.0f, 0.00f, 0.002f),
                                   new Vector3(7, 10, 0));

            shader.Use();
            /* fuck this shit for now */
            //shader.SetBlock<DirectionalLight>("sunlight", ref sunlight);
            //shader.SetBlock<BaseLight>("ambient", ref ambient);

            shader.SetBaseLight("ambient", ambient);
            shader.SetDirectionalLight("sunlight", sunlight);
            shader.SetPointLight("pointLights[0]", point);

            GL.Enable(EnableCap.DepthClamp);
            GL.Enable(EnableCap.DepthTest);
            GL.DepthFunc(DepthFunction.Less);
            GL.Enable(EnableCap.CullFace);
            GL.CullFace(CullFaceMode.Back);
            GL.ClearColor(Color.LightGray);
        }
开发者ID:johanhenriksson,项目名称:univ,代码行数:44,代码来源:Window.cs


注:本文中的Shader.SetBaseLight方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。