mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-28 18:05:30 +00:00
93 lines
3.5 KiB
C#
93 lines
3.5 KiB
C#
/* Copyright (c) 2006 Stephen Apostolopoulos
|
|
* See license.txt for license info
|
|
*/
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.IO;
|
|
|
|
namespace OpenTK.OpenGL.Bind
|
|
{
|
|
partial class Process
|
|
{
|
|
public void WriteEnums(string output_path)
|
|
{
|
|
if (!Directory.Exists(output_path))
|
|
Directory.CreateDirectory(output_path);
|
|
|
|
StreamWriter sw = new StreamWriter(Path.Combine(output_path, "GLConstants.cs"), false);
|
|
|
|
Console.WriteLine("Writing opengl constants to: {0}", output_path);
|
|
|
|
sw.WriteLine("using System;");
|
|
sw.WriteLine();
|
|
sw.WriteLine("namespace {0}", Properties.Bind.Default.OutputNamespace);
|
|
sw.WriteLine("{");
|
|
sw.WriteLine(" public static class Enums");
|
|
sw.WriteLine(" {");
|
|
|
|
WriteMissingConstants(sw);
|
|
|
|
sw.WriteLine(" #region OpenGL enums");
|
|
sw.WriteLine();
|
|
|
|
foreach (Enum e in EnumCollection.Values)
|
|
{
|
|
sw.WriteLine(e.ToString());
|
|
}
|
|
|
|
sw.WriteLine();
|
|
sw.WriteLine(" #endregion");
|
|
sw.WriteLine(" }");
|
|
sw.WriteLine("}");
|
|
sw.WriteLine();
|
|
|
|
sw.Flush();
|
|
sw.Close();
|
|
}
|
|
|
|
private void WriteMissingConstants(StreamWriter sw)
|
|
{
|
|
sw.WriteLine(" #region Missing Constants");
|
|
sw.WriteLine();
|
|
|
|
// Version 1.4 enum
|
|
sw.WriteLine(" const uint GL_FOG_COORDINATE_SOURCE = 0x8450;");
|
|
sw.WriteLine(" const uint GL_FOG_COORDINATE = 0x8451;");
|
|
sw.WriteLine(" const uint GL_CURRENT_FOG_COORDINATE = 0x8453;");
|
|
sw.WriteLine(" const uint GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454;");
|
|
sw.WriteLine(" const uint GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455;");
|
|
sw.WriteLine(" const uint GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456;");
|
|
sw.WriteLine(" const uint GL_FOG_COORDINATE_ARRAY = 0x8457;");
|
|
|
|
// Version 1.5 enum
|
|
sw.WriteLine(" const uint GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D;");
|
|
|
|
// Version 1.3 enum
|
|
sw.WriteLine(" const uint GL_SOURCE0_RGB = 0x8580;");
|
|
sw.WriteLine(" const uint GL_SOURCE1_RGB = 0x8581;");
|
|
sw.WriteLine(" const uint GL_SOURCE2_RGB = 0x8582;");
|
|
sw.WriteLine(" const uint GL_SOURCE0_ALPHA = 0x8588;");
|
|
sw.WriteLine(" const uint GL_SOURCE1_ALPHA = 0x8589;");
|
|
sw.WriteLine(" const uint GL_SOURCE2_ALPHA = 0x858A;");
|
|
|
|
// Version 2.0 enum
|
|
sw.WriteLine(" const uint GL_BLEND_EQUATION = 0x8009;");
|
|
|
|
sw.WriteLine(" const uint GL_MODELVIEW_MATRIX = 0x0BA6;");
|
|
sw.WriteLine(" const uint GL_MODELVIEW = 0x1700;");
|
|
sw.WriteLine(" const uint GL_MODELVIEW_STACK_DEPTH = 0x0BA3;");
|
|
|
|
// NV_texture_shader enum
|
|
sw.WriteLine(" const uint GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1;");
|
|
sw.WriteLine(" const uint GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2;");
|
|
sw.WriteLine(" const uint GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3;");
|
|
|
|
sw.WriteLine();
|
|
sw.WriteLine(" #endregion");
|
|
sw.WriteLine();
|
|
}
|
|
}
|
|
}
|