本文整理汇总了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
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}
示例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);
}