mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-25 18:45:32 +00:00
69 lines
2.9 KiB
C#
69 lines
2.9 KiB
C#
#region --- License ---
|
|
/* Copyright (c) 2006, 2007 Stefanos Apostolopoulos
|
|
* See license.txt for license info
|
|
*/
|
|
#endregion
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace OpenTK.OpenGL
|
|
{
|
|
/// <summary>
|
|
/// Provides access to GLU functions.
|
|
/// </summary>
|
|
public static partial class Glu
|
|
{
|
|
#region GLU functions
|
|
|
|
private const string GLUDLLName = "glu32.dll";
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluOrtho2D")]
|
|
private static extern IntPtr ErrorString_(int errCode);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluGetString")]
|
|
private static extern IntPtr GetString_(int errCode);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluOrtho2D")]
|
|
public static extern void Ortho2D(double left, double right, double bottom, double top);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluPerspective")]
|
|
public static extern void Perspective(double fovy, double aspect, double zNear, double zFar);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluPickMatrix")]
|
|
public static extern void PickMatrix(double x, double y, double width, double height, int[] viewport);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluLookAt")]
|
|
public static extern void LookAt(double eyex, double eyey, double eyez, double centerx, double centery, double centerz, double upx, double upy, double upz);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluProject")]
|
|
public static extern int Project(double objx, double objy, double objz, double[] modelMatrix, double[] projMatrix, int[] viewport, out double winx, out double winy, out double winz);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluUnProject")]
|
|
public static extern int UnProject(double winx, double winy, double winz, double[] modelMatrix, double[] projMatrix, int[] viewport, out double objx, out double objy, out double objz);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "ScaleImage")]
|
|
public static extern void ScaleImage(int format, int widthin, int heightin, int typein, IntPtr datain, int widthout, int heightout, int typeout, IntPtr dataout);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluBuild1DMipmaps")]
|
|
public static extern int Build1DMipmaps(int target, int components, int width, int format, int type, IntPtr data);
|
|
|
|
[DllImport(GLUDLLName, EntryPoint = "gluBuild2DMipmaps")]
|
|
public static extern int Build2DMipmaps(int target, int components, int width, int height, int format, int type, IntPtr data);
|
|
|
|
public static string GetString(int name)
|
|
{
|
|
return Marshal.PtrToStringAnsi(GetString_(name));
|
|
}
|
|
|
|
public static string ErrorString(int name)
|
|
{
|
|
return Marshal.PtrToStringAnsi(ErrorString_(name));
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|