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


C# OpenGL.EnableIf方法代码示例

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


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

示例1: SetAttributes

        /// <summary>
        /// Sets the attributes.
        /// </summary>
        /// <param name="gl">The OpenGL instance.</param>
        public override void SetAttributes(OpenGL gl)
        {
            if(enableAlphaTest.HasValue && alphaTestFunction.HasValue && alphaTestReferenceValue.HasValue) 
            {
                gl.EnableIf(OpenGL.GL_ALPHA_TEST, enableAlphaTest.Value);
                gl.AlphaFunc(alphaTestFunction.Value, alphaTestReferenceValue.Value);
            }
            
            if(enableBlend.HasValue && blendingSourceFactor.HasValue && blendingDestinationFactor.HasValue) 
            {
                gl.EnableIf(OpenGL.GL_BLEND, enableBlend.Value);
                gl.BlendFunc(blendingSourceFactor.Value, blendingDestinationFactor.Value);
            }

            if(enableDither.HasValue) gl.EnableIf(OpenGL.GL_DITHER, enableDither.Value);
            if(drawBufferMode.HasValue) gl.DrawBuffer(drawBufferMode.Value);
            
            if(enableLogicOp.HasValue && logicOp.HasValue) 
            {
                gl.EnableIf(OpenGL.GL_COLOR_LOGIC_OP, enableLogicOp.Value);
                gl.LogicOp(logicOp.Value);
            }
            if(colorModeClearColor != null) gl.ClearColor(colorModeClearColor.R, colorModeClearColor.G, colorModeClearColor.B, colorModeClearColor.A);
            //todowritemask
        }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:29,代码来源:ColorBufferAttributes.cs

示例2: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if (enableDepthTest.HasValue) gl.EnableIf(OpenGL.GL_DEPTH_TEST, enableDepthTest.Value);
     if (depthFunction.HasValue) gl.DepthFunc(depthFunction.Value);
     if (depthClearValue.HasValue) gl.ClearDepth(depthClearValue.Value);
     if (enableDepthWritemask.HasValue) gl.EnableIf(OpenGL.GL_DEPTH_WRITEMASK, enableDepthWritemask.Value);
 }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:11,代码来源:DepthBufferAttributes.cs

示例3: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if (enableCullFace.HasValue) gl.EnableIf(OpenGL.GL_CULL_FACE, enableCullFace.Value);
     if(cullFaceMode.HasValue) gl.CullFace((uint)cullFaceMode.Value);
     if(enableSmooth.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_SMOOTH, enableSmooth.Value);
     if(frontFaceMode.HasValue) gl.FrontFace((uint)frontFaceMode.Value);
     if(polygonMode.HasValue) gl.PolygonMode(OpenGL.GL_FRONT_AND_BACK, (uint)polygonMode.Value);
     if(offsetFactor.HasValue && offsetBias.HasValue) gl.PolygonOffset(offsetFactor.Value, offsetBias.Value);
     if(enableOffsetPoint.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_OFFSET_POINT, enableOffsetPoint.Value);
     if(enableOffsetLine.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_OFFSET_LINE, enableOffsetLine.Value);
     if(enableOffsetFill.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_OFFSET_FILL, enableOffsetFill.Value);
 }
开发者ID:hhool,项目名称:sharpgl,代码行数:16,代码来源:PolygonAttributes.cs

示例4: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if (enable.HasValue) gl.EnableIf(OpenGL.GL_LIGHTING, enable.Value);
     if (ambientLight != null) gl.LightModel(LightModelParameter.Ambient, ambientLight);
     if (localViewer.HasValue) gl.LightModel(LightModelParameter.LocalViewer, localViewer.Value == true ? 1 : 0);
     if (twoSided.HasValue) gl.LightModel(LightModelParameter.TwoSide, twoSided.Value == true ? 1 : 0);
 }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:11,代码来源:LightingAttributes.cs

示例5: SetAttributes

        /// <summary>
        /// Sets the attributes.
        /// </summary>
        /// <param name="gl">The OpenGL instance.</param>
        public override void SetAttributes(OpenGL gl)
        {
            if (enableScissorTest.HasValue) 
                gl.EnableIf(OpenGL.GL_SCISSOR_TEST, enableScissorTest.Value);
            if (scissorX.HasValue && scissorY.HasValue && scissorWidth.HasValue && scissorHeight.HasValue) 
                gl.Scissor(scissorX.Value, scissorY.Value, scissorWidth.Value, scissorHeight.Value);

        }
开发者ID:hhool,项目名称:sharpgl,代码行数:12,代码来源:ScissorAttributes.cs

示例6: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if (enable.HasValue) gl.EnableIf(OpenGL.GL_FOG, enable.Value);
     if (mode.HasValue) gl.Fog(OpenGL.GL_FOG_MODE, (int)mode.Value);
     if (color != null) gl.Fog(OpenGL.GL_FOG_COLOR, color);
     if (density.HasValue) gl.Fog(OpenGL.GL_FOG_DENSITY, density.Value);
     if (start.HasValue) gl.Fog(OpenGL.GL_FOG_START, start.Value);
     if (end.HasValue) gl.Fog(OpenGL.GL_FOG_END, end.Value);
 }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:13,代码来源:FogAttributes.cs

示例7: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if (enableStencilTest.HasValue) gl.EnableIf(OpenGL.GL_STENCIL_TEST, enableStencilTest.Value);
     if (stencilFunction.HasValue && stencilReference.HasValue && stencilMask.HasValue) 
         gl.StencilFunc(stencilFunction.Value, stencilReference.Value, stencilMask.Value);
     if (stencilClearIndex.HasValue) gl.ClearStencil(stencilClearIndex.Value);
     if (stencilWriteMask.HasValue) gl.StencilMask(stencilWriteMask.Value);
     if (operationFail.HasValue && operationDepthFail.HasValue && operationDepthPass.HasValue)
         gl.StencilOp(operationFail.Value, operationDepthFail.Value, operationDepthPass.Value);
     
 }
开发者ID:hhool,项目名称:sharpgl,代码行数:15,代码来源:StencilBufferAttributes.cs

示例8: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if (enableNormalize.HasValue) gl.EnableIf(OpenGL.GL_NORMALIZE, enableNormalize.Value);
     if (matrixMode.HasValue) gl.MatrixMode(matrixMode.Value);
 }
开发者ID:chantsunman,项目名称:sharpgl,代码行数:9,代码来源:TransformAttributes.cs

示例9: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if (enableAutoNormal.HasValue) gl.EnableIf(OpenGL.GL_AUTO_NORMAL, enableAutoNormal.Value);
 }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:8,代码来源:TextureAttributes.cs

示例10: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if(width.HasValue) gl.LineWidth(width.Value);
     if(smooth.HasValue) gl.EnableIf(OpenGL.GL_LINE_SMOOTH, smooth.Value);
 }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:9,代码来源:LineAttributes.cs

示例11: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if(size.HasValue) gl.PointSize(size.Value);
     if(smooth.HasValue) gl.EnableIf(OpenGL.GL_POINT_SMOOTH, smooth.Value);
 }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:9,代码来源:PointAttributes.cs

示例12: SetAttributes

 /// <summary>
 /// Sets the attributes.
 /// </summary>
 /// <param name="gl">The OpenGL instance.</param>
 public override void SetAttributes(OpenGL gl)
 {
     if(enableAlphaTest.HasValue) gl.EnableIf(OpenGL.GL_ALPHA_TEST,enableAlphaTest.Value);
     if(enableAutoNormal.HasValue) gl.EnableIf(OpenGL.GL_AUTO_NORMAL,enableAutoNormal.Value);
     if(enableBlend.HasValue) gl.EnableIf(OpenGL.GL_BLEND,enableBlend.Value);
     if(enableCullFace.HasValue) gl.EnableIf(OpenGL.GL_CULL_FACE,enableCullFace.Value);
     if(enableDepthTest.HasValue) gl.EnableIf(OpenGL.GL_DEPTH_TEST,enableDepthTest.Value);
     if(enableDither.HasValue) gl.EnableIf(OpenGL.GL_DITHER,enableDither.Value);
     if(enableFog.HasValue) gl.EnableIf(OpenGL.GL_FOG,enableFog.Value);
     if(enableLighting.HasValue) gl.EnableIf(OpenGL.GL_LIGHTING,enableLighting.Value);
     if(enableLineSmooth.HasValue) gl.EnableIf(OpenGL.GL_LINE_SMOOTH,enableLineSmooth.Value);
     if(enableLineStipple.HasValue) gl.EnableIf(OpenGL.GL_LINE_STIPPLE,enableLineStipple.Value);
     if(enableColorLogicOp.HasValue) gl.EnableIf(OpenGL.GL_COLOR_LOGIC_OP,enableColorLogicOp.Value);
     if(enableIndexLogicOp.HasValue) gl.EnableIf(OpenGL.GL_INDEX_LOGIC_OP,enableIndexLogicOp.Value);
     if(enableNormalize.HasValue) gl.EnableIf(OpenGL.GL_NORMALIZE,enableNormalize.Value);
     if(enablePointSmooth.HasValue) gl.EnableIf(OpenGL.GL_POINT_SMOOTH,enablePointSmooth.Value);
     if(enablePolygonOffsetLine.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_OFFSET_LINE,enablePolygonOffsetLine.Value);
     if(enablePolygonOffsetFill.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_OFFSET_FILL,enablePolygonOffsetFill.Value);
     if(enablePolygonOffsetPoint.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_OFFSET_POINT,enablePolygonOffsetPoint.Value);
     if(enablePolygonSmooth.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_SMOOTH,enablePolygonSmooth.Value);
     if(enablePolygonStipple.HasValue) gl.EnableIf(OpenGL.GL_POLYGON_STIPPLE,enablePolygonStipple.Value);
     if(enableScissorTest.HasValue) gl.EnableIf(OpenGL.GL_SCISSOR_TEST,enableScissorTest.Value);
     if(enableStencilTest.HasValue) gl.EnableIf(OpenGL.GL_STENCIL,enableStencilTest.Value);
     if(enableTexture1D.HasValue) gl.EnableIf(OpenGL.GL_TEXTURE_1D,enableTexture1D.Value);
     if (enableTexture2D.HasValue) gl.EnableIf(OpenGL.GL_TEXTURE_2D, enableTexture2D.Value);
 }
开发者ID:cvanherk,项目名称:3d-engine,代码行数:30,代码来源:EnableAttributes.cs

示例13: Set

        public override void Set(OpenGL gl)
        {
            base.Set(gl);

            gl.PushAttrib(AttributeBit);

            gl.EnableIf(OpenGL.CULL_FACE, enableCullFace);
            gl.EnableIf(OpenGL.POLYGON_SMOOTH, enableSmooth);
            //	gl.glCullFace((uint)cullFaceMode);
            //	gl.glFrontFace((uint)frontFaceMode);
            gl.PolygonMode(OpenGL.FRONT_AND_BACK, (uint)polygonMode);
            //	gl.glPolygonOffset(offsetFactor, offsetBias);
            gl.EnableIf(OpenGL.POLYGON_OFFSET_POINT, enableOffsetPoint);
            gl.EnableIf(OpenGL.POLYGON_OFFSET_LINE, enableOffsetLine);
            gl.EnableIf(OpenGL.POLYGON_OFFSET_FILL, enableOffsetFill);
        }
开发者ID:nromik,项目名称:sharpgl,代码行数:16,代码来源:Attributes.cs


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