#region License /* MIT License Copyright ©2003-2006 Tao Framework Team http://www.taoframework.com All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ #endregion License using System; using System.Runtime.InteropServices; using System.Security; namespace Tao.OpenGl { #region Class Documentation /// /// GLU (OpenGL Utility) binding for .NET, implementing GLU 1.3. /// /// /// /// Binds functions and definitions in glu32.dll or libGLU.so. /// /// /// The OpenGL Utility (GLU) library contains several groups of functions that /// complement the core OpenGL interface by providing support for auxiliary features. /// These features include: mipmapping, matrix manipulation, polygon tessellation, /// quadrics, NURBS, and error handling. /// /// /// Mipmapping routines include image scaling and automatic mipmap generation. A /// variety of matrix manipulation functions build projection and viewing matrices, /// or project vertices from one coordinate system to another. Polygon tessellation /// routines convert concave polygons into triangles for easy rendering. Quadrics /// support renders a few basic quadrics such as spheres and cones. NURBS code maps /// complicated NURBS curves and trimmed surfaces into simpler OpenGL evaluators. /// Lastly, an error lookup routine translates OpenGL and GLU error codes into /// strings. GLU library routines may call OpenGL library routines. Thus, an OpenGL /// context should be made current before calling any GLU functions. Otherwise an /// OpenGL error may occur. /// /// /// These utility functions make use of core OpenGL functions, so any OpenGL /// implementation is guaranteed to support the utility functions. /// /// #endregion Class Documentation [Obsolete] public static class Glu { // --- Fields --- #region Private Constants #region CallingConvention CALLING_CONVENTION /// /// Specifies the calling convention. /// /// /// Specifies for Windows and /// Linux, to indicate that the default should be used. /// private const CallingConvention CALLING_CONVENTION = CallingConvention.Winapi; #endregion CallingConvention CALLING_CONVENTION #endregion Private Constants #region Public Constants #region Version #region bool GLU_VERSION_1_1 /// /// GLU API revision. /// /// /// Specifies GLU 1.1. /// // #define GLU_VERSION_1_1 1 public const bool GLU_VERSION_1_1 = true; #endregion bool GLU_VERSION_1_1 #region bool GLU_VERSION_1_2 /// /// GLU API revision. /// /// /// Specifies GLU 1.2. /// // #define GLU_VERSION_1_2 1 public const bool GLU_VERSION_1_2 = true; #endregion bool GLU_VERSION_1_2 #region bool GLU_VERSION_1_3 /// /// GLU API revision. /// /// /// Specifies GLU 1.3. /// // #define GLU_VERSION_1_3 1 public const bool GLU_VERSION_1_3 = true; #endregion bool GLU_VERSION_1_3 #endregion Version #region Errors #region int GLU_INVALID_ENUM /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INVALID_ENUM 100900 public const int GLU_INVALID_ENUM = 100900; #endregion int GLU_INVALID_ENUM #region int GLU_INVALID_VALUE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INVALID_VALUE 100901 public const int GLU_INVALID_VALUE = 100901; #endregion int GLU_INVALID_VALUE #region int GLU_OUT_OF_MEMORY /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUT_OF_MEMORY 100902 public const int GLU_OUT_OF_MEMORY = 100902; #endregion int GLU_OUT_OF_MEMORY #region int GLU_INCOMPATIBLE_GL_VERSION /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INCOMPATIBLE_GL_VERSION 100903 public const int GLU_INCOMPATIBLE_GL_VERSION = 100903; #endregion int GLU_INCOMPATIBLE_GL_VERSION #region int GLU_INVALID_OPERATION /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INVALID_OPERATION 100904 public const int GLU_INVALID_OPERATION = 100904; #endregion int GLU_INVALID_OPERATION #endregion Errors #region StringName #region int GLU_VERSION /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_VERSION 100800 public const int GLU_VERSION = 100800; #endregion int GLU_VERSION #region int GLU_EXTENSIONS /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXTENSIONS 100801 public const int GLU_EXTENSIONS = 100801; #endregion int GLU_EXTENSIONS #endregion StringName #region bool #region int GLU_TRUE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TRUE GL_TRUE public const int GLU_TRUE = 1; #endregion int GLU_TRUE #region int GLU_FALSE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_FALSE GL_FALSE public const int GLU_FALSE = 0; #endregion int GLU_FALSE #endregion bool #region QuadricNormal #region int GLU_SMOOTH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SMOOTH 100000 public const int GLU_SMOOTH = 100000; #endregion int GLU_SMOOTH #region int GLU_FLAT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_FLAT 100001 public const int GLU_FLAT = 100001; #endregion int GLU_FLAT #region int GLU_NONE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NONE 100002 public const int GLU_NONE = 100002; #endregion int GLU_NONE #endregion QuadricNormal #region QuadricDrawStyle #region int GLU_POINT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_POINT 100010 public const int GLU_POINT = 100010; #endregion int GLU_POINT #region int GLU_LINE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_LINE 100011 public const int GLU_LINE = 100011; #endregion int GLU_LINE #region int GLU_FILL /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_FILL 100012 public const int GLU_FILL = 100012; #endregion int GLU_FILL #region int GLU_SILHOUETTE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SILHOUETTE 100013 public const int GLU_SILHOUETTE = 100013; #endregion int GLU_SILHOUETTE #endregion QuadricDrawStyle #region QuadraticOrientation #region int GLU_OUTSIDE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUTSIDE 100020 public const int GLU_OUTSIDE = 100020; #endregion int GLU_OUTSIDE #region int GLU_INSIDE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INSIDE 100021 public const int GLU_INSIDE = 100021; #endregion int GLU_INSIDE #endregion QuadraticOrientation #region Tesselation Limits #region double GLU_TESS_MAX_COORD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MAX_COORD 1.0e150 public const double GLU_TESS_MAX_COORD = 1.0e150; #endregion double GLU_TESS_MAX_COORD #endregion Tesselation Limits #region TessProperty #region int GLU_TESS_WINDING_RULE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_RULE 100140 public const int GLU_TESS_WINDING_RULE = 100140; #endregion int GLU_TESS_WINDING_RULE #region int GLU_TESS_BOUNDARY_ONLY /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_BOUNDARY_ONLY 100141 public const int GLU_TESS_BOUNDARY_ONLY = 100141; #endregion int GLU_TESS_BOUNDARY_ONLY #region int GLU_TESS_TOLERANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_TOLERANCE 100142 public const int GLU_TESS_TOLERANCE = 100142; #endregion int GLU_TESS_TOLERANCE #endregion TessProperty #region TessWinding #region int GLU_TESS_WINDING_ODD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_ODD 100130 public const int GLU_TESS_WINDING_ODD = 100130; #endregion int GLU_TESS_WINDING_ODD #region int GLU_TESS_WINDING_NONZERO /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_NONZERO 100131 public const int GLU_TESS_WINDING_NONZERO = 100131; #endregion int GLU_TESS_WINDING_NONZERO #region int GLU_TESS_WINDING_POSITIVE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_POSITIVE 100132 public const int GLU_TESS_WINDING_POSITIVE = 100132; #endregion int GLU_TESS_WINDING_POSITIVE #region int GLU_TESS_WINDING_NEGATIVE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_NEGATIVE 100133 public const int GLU_TESS_WINDING_NEGATIVE = 100133; #endregion int GLU_TESS_WINDING_NEGATIVE #region int GLU_TESS_WINDING_ABS_GEQ_TWO /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_WINDING_ABS_GEQ_TWO 100134 public const int GLU_TESS_WINDING_ABS_GEQ_TWO = 100134; #endregion int GLU_TESS_WINDING_ABS_GEQ_TWO #endregion TessWinding #region TessCallback #region int GLU_TESS_BEGIN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_BEGIN 100100 public const int GLU_TESS_BEGIN = 100100; #endregion int GLU_TESS_BEGIN #region int GLU_BEGIN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_BEGIN 100100 public const int GLU_BEGIN = 100100; #endregion int GLU_BEGIN #region int GLU_TESS_VERTEX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_VERTEX 100101 public const int GLU_TESS_VERTEX = 100101; #endregion int GLU_TESS_VERTEX #region int GLU_VERTEX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_VERTEX 100101 public const int GLU_VERTEX = 100101; #endregion int GLU_VERTEX #region int GLU_TESS_END /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_END 100102 public const int GLU_TESS_END = 100102; #endregion int GLU_TESS_END #region int GLU_END /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_END 100102 public const int GLU_END = 100102; #endregion int GLU_END #region int GLU_TESS_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR 100103 public const int GLU_TESS_ERROR = 100103; #endregion int GLU_TESS_ERROR #region int GLU_TESS_EDGE_FLAG /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_EDGE_FLAG 100104 public const int GLU_TESS_EDGE_FLAG = 100104; #endregion int GLU_TESS_EDGE_FLAG #region int GLU_EDGE_FLAG /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EDGE_FLAG 100104 public const int GLU_EDGE_FLAG = 100104; #endregion int GLU_EDGE_FLAG #region int GLU_TESS_COMBINE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_COMBINE 100105 public const int GLU_TESS_COMBINE = 100105; #endregion int GLU_TESS_COMBINE #region int GLU_TESS_BEGIN_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_BEGIN_DATA 100106 public const int GLU_TESS_BEGIN_DATA = 100106; #endregion int GLU_TESS_BEGIN_DATA #region int GLU_TESS_VERTEX_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_VERTEX_DATA 100107 public const int GLU_TESS_VERTEX_DATA = 100107; #endregion int GLU_TESS_VERTEX_DATA #region int GLU_TESS_END_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_END_DATA 100108 public const int GLU_TESS_END_DATA = 100108; #endregion int GLU_TESS_END_DATA #region int GLU_TESS_ERROR_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR_DATA 100109 public const int GLU_TESS_ERROR_DATA = 100109; #endregion int GLU_TESS_ERROR_DATA #region int GLU_TESS_EDGE_FLAG_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_EDGE_FLAG_DATA 100110 public const int GLU_TESS_EDGE_FLAG_DATA = 100110; #endregion int GLU_TESS_EDGE_FLAG_DATA #region int GLU_TESS_COMBINE_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_COMBINE_DATA 100111 public const int GLU_TESS_COMBINE_DATA = 100111; #endregion int GLU_TESS_COMBINE_DATA #endregion TessCallback #region TessError #region int GLU_TESS_ERROR1 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR1 100151 public const int GLU_TESS_ERROR1 = 100151; #endregion int GLU_TESS_ERROR1 #region int GLU_TESS_ERROR2 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR2 100152 public const int GLU_TESS_ERROR2 = 100152; #endregion int GLU_TESS_ERROR2 #region int GLU_TESS_ERROR3 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR3 100153 public const int GLU_TESS_ERROR3 = 100153; #endregion int GLU_TESS_ERROR3 #region int GLU_TESS_ERROR4 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR4 100154 public const int GLU_TESS_ERROR4 = 100154; #endregion int GLU_TESS_ERROR4 #region int GLU_TESS_ERROR5 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR5 100155 public const int GLU_TESS_ERROR5 = 100155; #endregion int GLU_TESS_ERROR5 #region int GLU_TESS_ERROR6 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR6 100156 public const int GLU_TESS_ERROR6 = 100156; #endregion int GLU_TESS_ERROR6 #region int GLU_TESS_ERROR7 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR7 100157 public const int GLU_TESS_ERROR7 = 100157; #endregion int GLU_TESS_ERROR7 #region int GLU_TESS_ERROR8 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_ERROR8 100158 public const int GLU_TESS_ERROR8 = 100158; #endregion int GLU_TESS_ERROR8 #region int GLU_TESS_MISSING_BEGIN_POLYGON /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_BEGIN_POLYGON GLU_TESS_ERROR1 public const int GLU_TESS_MISSING_BEGIN_POLYGON = GLU_TESS_ERROR1; #endregion int GLU_TESS_MISSING_BEGIN_POLYGON #region int GLU_TESS_MISSING_BEGIN_CONTOUR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_BEGIN_CONTOUR GLU_TESS_ERROR2 public const int GLU_TESS_MISSING_BEGIN_CONTOUR = GLU_TESS_ERROR2; #endregion int GLU_TESS_MISSING_BEGIN_CONTOUR #region int GLU_TESS_MISSING_END_POLYGON /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_END_POLYGON GLU_TESS_ERROR3 public const int GLU_TESS_MISSING_END_POLYGON = GLU_TESS_ERROR3; #endregion int GLU_TESS_MISSING_END_POLYGON #region int GLU_TESS_MISSING_END_CONTOUR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_MISSING_END_CONTOUR GLU_TESS_ERROR4 public const int GLU_TESS_MISSING_END_CONTOUR = GLU_TESS_ERROR4; #endregion int GLU_TESS_MISSING_END_CONTOUR #region int GLU_TESS_COORD_TOO_LARGE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_COORD_TOO_LARGE GLU_TESS_ERROR5 public const int GLU_TESS_COORD_TOO_LARGE = GLU_TESS_ERROR5; #endregion int GLU_TESS_COORD_TOO_LARGE #region int GLU_TESS_NEED_COMBINE_CALLBACK /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_TESS_NEED_COMBINE_CALLBACK GLU_TESS_ERROR6 public const int GLU_TESS_NEED_COMBINE_CALLBACK = GLU_TESS_ERROR6; #endregion int GLU_TESS_NEED_COMBINE_CALLBACK #endregion TessError #region NurbsProperty #region int GLU_AUTO_LOAD_MATRIX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_AUTO_LOAD_MATRIX 100200 public const int GLU_AUTO_LOAD_MATRIX = 100200; #endregion int GLU_AUTO_LOAD_MATRIX #region int GLU_CULLING /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_CULLING 100201 public const int GLU_CULLING = 100201; #endregion int GLU_CULLING #region int GLU_PARAMETRIC_TOLERANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_PARAMETRIC_TOLERANCE 100202 public const int GLU_PARAMETRIC_TOLERANCE = 100202; #endregion int GLU_PARAMETRIC_TOLERANCE #region int GLU_SAMPLING_TOLERANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SAMPLING_TOLERANCE 100203 public const int GLU_SAMPLING_TOLERANCE = 100203; #endregion int GLU_SAMPLING_TOLERANCE #region int GLU_DISPLAY_MODE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_DISPLAY_MODE 100204 public const int GLU_DISPLAY_MODE = 100204; #endregion int GLU_DISPLAY_MODE #region int GLU_SAMPLING_METHOD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_SAMPLING_METHOD 100205 public const int GLU_SAMPLING_METHOD = 100205; #endregion int GLU_SAMPLING_METHOD #region int GLU_U_STEP /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_U_STEP 100206 public const int GLU_U_STEP = 100206; #endregion int GLU_U_STEP #region int GLU_V_STEP /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_V_STEP 100207 public const int GLU_V_STEP = 100207; #endregion int GLU_V_STEP #region int GLU_NURBS_MODE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_MODE 100160 public const int GLU_NURBS_MODE = 100160; #endregion int GLU_NURBS_MODE #region int GLU_NURBS_MODE_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_MODE_EXT 100160 public const int GLU_NURBS_MODE_EXT = 100160; #endregion int GLU_NURBS_MODE_EXT #region int GLU_NURBS_TESSELLATOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TESSELLATOR 100161 public const int GLU_NURBS_TESSELLATOR = 100161; #endregion int GLU_NURBS_TESSELLATOR #region int GLU_NURBS_TESSELLATOR_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TESSELLATOR_EXT 100161 public const int GLU_NURBS_TESSELLATOR_EXT = 100161; #endregion int GLU_NURBS_TESSELLATOR_EXT #region int GLU_NURBS_RENDERER /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_RENDERER 100162 public const int GLU_NURBS_RENDERER = 100162; #endregion int GLU_NURBS_RENDERER #region int GLU_NURBS_RENDERER_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_RENDERER_EXT 100162 public const int GLU_NURBS_RENDERER_EXT = 100162; #endregion int GLU_NURBS_RENDERER_EXT #endregion NurbsProperty #region NurbsSampling #region int GLU_OBJECT_PARAMETRIC_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PARAMETRIC_ERROR 100208 public const int GLU_OBJECT_PARAMETRIC_ERROR = 100208; #endregion int GLU_OBJECT_PARAMETRIC_ERROR #region int GLU_OBJECT_PARAMETRIC_ERROR_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208 public const int GLU_OBJECT_PARAMETRIC_ERROR_EXT = 100208; #endregion int GLU_OBJECT_PARAMETRIC_ERROR_EXT #region int GLU_OBJECT_PATH_LENGTH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PATH_LENGTH 100209 public const int GLU_OBJECT_PATH_LENGTH = 100209; #endregion int GLU_OBJECT_PATH_LENGTH #region int GLU_OBJECT_PATH_LENGTH_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OBJECT_PATH_LENGTH_EXT 100209 public const int GLU_OBJECT_PATH_LENGTH_EXT = 100209; #endregion int GLU_OBJECT_PATH_LENGTH_EXT #region int GLU_PATH_LENGTH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_PATH_LENGTH 100215 public const int GLU_PATH_LENGTH = 100215; #endregion int GLU_PATH_LENGTH #region int GLU_PARAMETRIC_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_PARAMETRIC_ERROR 100216 public const int GLU_PARAMETRIC_ERROR = 100216; #endregion int GLU_PARAMETRIC_ERROR #region int GLU_DOMAIN_DISTANCE /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_DOMAIN_DISTANCE 100217 public const int GLU_DOMAIN_DISTANCE = 100217; #endregion int GLU_DOMAIN_DISTANCE #endregion NurbsSampling #region NurbsTrim #region int GLU_MAP1_TRIM_2 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_MAP1_TRIM_2 100210 public const int GLU_MAP1_TRIM_2 = 100210; #endregion int GLU_MAP1_TRIM_2 #region int GLU_MAP1_TRIM_3 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_MAP1_TRIM_3 100211 public const int GLU_MAP1_TRIM_3 = 100211; #endregion int GLU_MAP1_TRIM_3 #endregion NurbsTrim #region NurbsDisplay #region int GLU_OUTLINE_POLYGON /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUTLINE_POLYGON 100240 public const int GLU_OUTLINE_POLYGON = 100240; #endregion int GLU_OUTLINE_POLYGON #region int GLU_OUTLINE_PATCH /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_OUTLINE_PATCH 100241 public const int GLU_OUTLINE_PATCH = 100241; #endregion int GLU_OUTLINE_PATCH #endregion NurbsDisplay #region NurbsCallback #region int GLU_NURBS_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR 100103 public const int GLU_NURBS_ERROR = 100103; #endregion int GLU_NURBS_ERROR #region int GLU_ERROR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_ERROR 100103 public const int GLU_ERROR = 100103; #endregion int GLU_ERROR #region int GLU_NURBS_BEGIN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN 100164 public const int GLU_NURBS_BEGIN = 100164; #endregion int GLU_NURBS_BEGIN #region int GLU_NURBS_BEGIN_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN_EXT 100164 public const int GLU_NURBS_BEGIN_EXT = 100164; #endregion int GLU_NURBS_BEGIN_EXT #region int GLU_NURBS_VERTEX /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX 100165 public const int GLU_NURBS_VERTEX = 100165; #endregion int GLU_NURBS_VERTEX #region int GLU_NURBS_VERTEX_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX_EXT 100165 public const int GLU_NURBS_VERTEX_EXT = 100165; #endregion int GLU_NURBS_VERTEX_EXT #region int GLU_NURBS_NORMAL /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL 100166 public const int GLU_NURBS_NORMAL = 100166; #endregion int GLU_NURBS_NORMAL #region int GLU_NURBS_NORMAL_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL_EXT 100166 public const int GLU_NURBS_NORMAL_EXT = 100166; #endregion int GLU_NURBS_NORMAL_EXT #region int GLU_NURBS_COLOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR 100167 public const int GLU_NURBS_COLOR = 100167; #endregion int GLU_NURBS_COLOR #region int GLU_NURBS_COLOR_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR_EXT 100167 public const int GLU_NURBS_COLOR_EXT = 100167; #endregion int GLU_NURBS_COLOR_EXT #region int GLU_NURBS_TEXTURE_COORD /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEXTURE_COORD 100168 public const int GLU_NURBS_TEXTURE_COORD = 100168; #endregion int GLU_NURBS_TEXTURE_COORD #region int GLU_NURBS_TEX_COORD_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEX_COORD_EXT 100168 public const int GLU_NURBS_TEX_COORD_EXT = 100168; #endregion int GLU_NURBS_TEX_COORD_EXT #region int GLU_NURBS_END /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END 100169 public const int GLU_NURBS_END = 100169; #endregion int GLU_NURBS_END #region int GLU_NURBS_END_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END_EXT 100169 public const int GLU_NURBS_END_EXT = 100169; #endregion int GLU_NURBS_END_EXT #region int GLU_NURBS_BEGIN_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN_DATA 100170 public const int GLU_NURBS_BEGIN_DATA = 100170; #endregion int GLU_NURBS_BEGIN_DATA #region int GLU_NURBS_BEGIN_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_BEGIN_DATA_EXT 100170 public const int GLU_NURBS_BEGIN_DATA_EXT = 100170; #endregion int GLU_NURBS_BEGIN_DATA_EXT #region int GLU_NURBS_VERTEX_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX_DATA 100171 public const int GLU_NURBS_VERTEX_DATA = 100171; #endregion int GLU_NURBS_VERTEX_DATA #region int GLU_NURBS_VERTEX_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_VERTEX_DATA_EXT 100171 public const int GLU_NURBS_VERTEX_DATA_EXT = 100171; #endregion int GLU_NURBS_VERTEX_DATA_EXT #region int GLU_NURBS_NORMAL_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL_DATA 100172 public const int GLU_NURBS_NORMAL_DATA = 100172; #endregion int GLU_NURBS_NORMAL_DATA #region int GLU_NURBS_NORMAL_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_NORMAL_DATA_EXT 100172 public const int GLU_NURBS_NORMAL_DATA_EXT = 100172; #endregion int GLU_NURBS_NORMAL_DATA_EXT #region int GLU_NURBS_COLOR_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR_DATA 100173 public const int GLU_NURBS_COLOR_DATA = 100173; #endregion int GLU_NURBS_COLOR_DATA #region int GLU_NURBS_COLOR_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_COLOR_DATA_EXT 100173 public const int GLU_NURBS_COLOR_DATA_EXT = 100173; #endregion int GLU_NURBS_COLOR_DATA_EXT #region int GLU_NURBS_TEXTURE_COORD_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEXTURE_COORD_DATA 100174 public const int GLU_NURBS_TEXTURE_COORD_DATA = 100174; #endregion int GLU_NURBS_TEXTURE_COORD_DATA #region int GLU_NURBS_TEX_COORD_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_TEX_COORD_DATA_EXT 100174 public const int GLU_NURBS_TEX_COORD_DATA_EXT = 100174; #endregion int GLU_NURBS_TEX_COORD_DATA_EXT #region int GLU_NURBS_END_DATA /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END_DATA 100175 public const int GLU_NURBS_END_DATA = 100175; #endregion int GLU_NURBS_END_DATA #region int GLU_NURBS_END_DATA_EXT /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_END_DATA_EXT 100175 public const int GLU_NURBS_END_DATA_EXT = 100175; #endregion int GLU_NURBS_END_DATA_EXT #endregion NurbsCallback #region NurbsErrors #region int GLU_NURBS_ERROR1 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR1 100251 public const int GLU_NURBS_ERROR1 = 100251; #endregion int GLU_NURBS_ERROR1 #region int GLU_NURBS_ERROR2 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR2 100252 public const int GLU_NURBS_ERROR2 = 100252; #endregion int GLU_NURBS_ERROR2 #region int GLU_NURBS_ERROR3 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR3 100253 public const int GLU_NURBS_ERROR3 = 100253; #endregion int GLU_NURBS_ERROR3 #region int GLU_NURBS_ERROR4 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR4 100254 public const int GLU_NURBS_ERROR4 = 100254; #endregion int GLU_NURBS_ERROR4 #region int GLU_NURBS_ERROR5 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR5 100255 public const int GLU_NURBS_ERROR5 = 100255; #endregion int GLU_NURBS_ERROR5 #region int GLU_NURBS_ERROR6 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR6 100256 public const int GLU_NURBS_ERROR6 = 100256; #endregion int GLU_NURBS_ERROR6 #region int GLU_NURBS_ERROR7 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR7 100257 public const int GLU_NURBS_ERROR7 = 100257; #endregion int GLU_NURBS_ERROR7 #region int GLU_NURBS_ERROR8 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR8 100258 public const int GLU_NURBS_ERROR8 = 100258; #endregion int GLU_NURBS_ERROR8 #region int GLU_NURBS_ERROR9 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR9 100259 public const int GLU_NURBS_ERROR9 = 100259; #endregion int GLU_NURBS_ERROR9 #region int GLU_NURBS_ERROR10 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR10 100260 public const int GLU_NURBS_ERROR10 = 100260; #endregion int GLU_NURBS_ERROR10 #region int GLU_NURBS_ERROR11 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR11 100261 public const int GLU_NURBS_ERROR11 = 100261; #endregion int GLU_NURBS_ERROR11 #region int GLU_NURBS_ERROR12 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR12 100262 public const int GLU_NURBS_ERROR12 = 100262; #endregion int GLU_NURBS_ERROR12 #region int GLU_NURBS_ERROR13 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR13 100263 public const int GLU_NURBS_ERROR13 = 100263; #endregion int GLU_NURBS_ERROR13 #region int GLU_NURBS_ERROR14 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR14 100264 public const int GLU_NURBS_ERROR14 = 100264; #endregion int GLU_NURBS_ERROR14 #region int GLU_NURBS_ERROR15 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR15 100265 public const int GLU_NURBS_ERROR15 = 100265; #endregion int GLU_NURBS_ERROR15 #region int GLU_NURBS_ERROR16 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR16 100266 public const int GLU_NURBS_ERROR16 = 100266; #endregion int GLU_NURBS_ERROR16 #region int GLU_NURBS_ERROR17 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR17 100267 public const int GLU_NURBS_ERROR17 = 100267; #endregion int GLU_NURBS_ERROR17 #region int GLU_NURBS_ERROR18 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR18 100268 public const int GLU_NURBS_ERROR18 = 100268; #endregion int GLU_NURBS_ERROR18 #region int GLU_NURBS_ERROR19 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR19 100269 public const int GLU_NURBS_ERROR19 = 100269; #endregion int GLU_NURBS_ERROR19 #region int GLU_NURBS_ERROR20 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR20 100270 public const int GLU_NURBS_ERROR20 = 100270; #endregion int GLU_NURBS_ERROR20 #region int GLU_NURBS_ERROR21 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR21 100271 public const int GLU_NURBS_ERROR21 = 100271; #endregion int GLU_NURBS_ERROR21 #region int GLU_NURBS_ERROR22 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR22 100272 public const int GLU_NURBS_ERROR22 = 100272; #endregion int GLU_NURBS_ERROR22 #region int GLU_NURBS_ERROR23 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR23 100273 public const int GLU_NURBS_ERROR23 = 100273; #endregion int GLU_NURBS_ERROR23 #region int GLU_NURBS_ERROR24 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR24 100274 public const int GLU_NURBS_ERROR24 = 100274; #endregion int GLU_NURBS_ERROR24 #region int GLU_NURBS_ERROR25 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR25 100275 public const int GLU_NURBS_ERROR25 = 100275; #endregion int GLU_NURBS_ERROR25 #region int GLU_NURBS_ERROR26 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR26 100276 public const int GLU_NURBS_ERROR26 = 100276; #endregion int GLU_NURBS_ERROR26 #region int GLU_NURBS_ERROR27 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR27 100277 public const int GLU_NURBS_ERROR27 = 100277; #endregion int GLU_NURBS_ERROR27 #region int GLU_NURBS_ERROR28 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR28 100278 public const int GLU_NURBS_ERROR28 = 100278; #endregion int GLU_NURBS_ERROR28 #region int GLU_NURBS_ERROR29 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR29 100279 public const int GLU_NURBS_ERROR29 = 100279; #endregion int GLU_NURBS_ERROR29 #region int GLU_NURBS_ERROR30 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR30 100280 public const int GLU_NURBS_ERROR30 = 100280; #endregion int GLU_NURBS_ERROR30 #region int GLU_NURBS_ERROR31 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR31 100281 public const int GLU_NURBS_ERROR31 = 100281; #endregion int GLU_NURBS_ERROR31 #region int GLU_NURBS_ERROR32 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR32 100282 public const int GLU_NURBS_ERROR32 = 100282; #endregion int GLU_NURBS_ERROR32 #region int GLU_NURBS_ERROR33 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR33 100283 public const int GLU_NURBS_ERROR33 = 100283; #endregion int GLU_NURBS_ERROR33 #region int GLU_NURBS_ERROR34 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR34 100284 public const int GLU_NURBS_ERROR34 = 100284; #endregion int GLU_NURBS_ERROR34 #region int GLU_NURBS_ERROR35 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR35 100285 public const int GLU_NURBS_ERROR35 = 100285; #endregion int GLU_NURBS_ERROR35 #region int GLU_NURBS_ERROR36 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR36 100286 public const int GLU_NURBS_ERROR36 = 100286; #endregion int GLU_NURBS_ERROR36 #region int GLU_NURBS_ERROR37 /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_NURBS_ERROR37 100287 public const int GLU_NURBS_ERROR37 = 100287; #endregion int GLU_NURBS_ERROR37 #endregion NurbsErrors #region Contours types #region int GLU_CW /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_CW 100120 public const int GLU_CW = 100120; #endregion int GLU_CW #region int GLU_CCW /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_CCW 100121 public const int GLU_CCW = 100121; #endregion int GLU_CCW #region int GLU_INTERIOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_INTERIOR 100122 public const int GLU_INTERIOR = 100122; #endregion int GLU_INTERIOR #region int GLU_EXTERIOR /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXTERIOR 100123 public const int GLU_EXTERIOR = 100123; #endregion int GLU_EXTERIOR #region int GLU_UNKNOWN /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_UNKNOWN 100124 public const int GLU_UNKNOWN = 100124; #endregion int GLU_UNKNOWN #endregion Contours types #region Extensions #region int GLU_EXT_object_space_tess /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXT_object_space_tess 1 public const int GLU_EXT_object_space_tess = 1; #endregion int GLU_EXT_object_space_tess #region int GLU_EXT_nurbs_tessellator /// /// Unknown. Unable to locate definitive documentation on this constant. /// // #define GLU_EXT_nurbs_tessellator 1 public const int GLU_EXT_nurbs_tessellator = 1; #endregion int GLU_EXT_nurbs_tessellator #endregion Extensions #endregion Public Constants #region Public Structs #region GLUnurbs /// /// Defines a GLU NURBS object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUnurbs { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUnurbs #region GLUquadric /// /// Defines a GLU quadric object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUquadric { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUquadric #region GLUtesselator /// /// Defines a GLU tesselator object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUtesselator { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUtesselator #region GLUnurbsObj /// /// Defines a GLU NURBS object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUnurbsObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUnurbsObj #region GLUquadricObj /// /// Defines a GLU quadric object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUquadricObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUquadricObj #region GLUtesselatorObj /// /// Defines a GLU tesselator object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUtesselatorObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUtesselatorObj #region GLUtriangulatorObj /// /// Defines a GLU triangulator object. /// [StructLayout(LayoutKind.Sequential)] public struct GLUtriangulatorObj { /// /// Keeps the struct from being garbage collected prematurely. /// private IntPtr Data; } #endregion GLUtriangulatorObj #endregion Public Structs #region Private Fields // These fields hold references to any callbacks used so as to prevent the garbage // collector from sweeping the delegates even though the application may not be done // with them. private static NurbsBeginCallback nurbsBeginCallback; private static NurbsBeginDataCallback nurbsBeginDataCallback; private static NurbsColorCallback nurbsColorCallback; private static NurbsColorDataCallback nurbsColorDataCallback; private static NurbsEndCallback nurbsEndCallback; private static NurbsEndDataCallback nurbsEndDataCallback; private static NurbsErrorCallback nurbsErrorCallback; private static NurbsNormalCallback nurbsNormalCallback; private static NurbsNormalDataCallback nurbsNormalDataCallback; private static NurbsTexCoordCallback nurbsTexCoordCallback; private static NurbsTexCoordDataCallback nurbsTexCoordDataCallback; private static NurbsVertexCallback nurbsVertexCallback; private static NurbsVertexDataCallback nurbsVertexDataCallback; private static QuadricErrorCallback quadricErrorCallback; private static TessBeginCallback tessBeginCallback; private static TessBeginDataCallback tessBeginDataCallback; private static TessCombineCallback tessCombineCallback; private static TessCombineCallback1 tessCombineCallback1; private static TessCombineDataCallback tessCombineDataCallback; private static TessEdgeFlagCallback tessEdgeFlagCallback; private static TessEdgeFlagDataCallback tessEdgeFlagDataCallback; private static TessEndCallback tessEndCallback; private static TessEndDataCallback tessEndDataCallback; private static TessErrorCallback tessErrorCallback; private static TessErrorDataCallback tessErrorDataCallback; private static TessVertexCallback tessVertexCallback; private static TessVertexCallback1 tessVertexCallback1; private static TessVertexDataCallback tessVertexDataCallback; #endregion Private Fields // --- Public Delegates --- #region NurbsBeginCallback(int type) /// /// Callback (delegate) for use with . /// /// // void begin(GLenum type); public delegate void NurbsBeginCallback(int type); #endregion NurbsBeginCallback(int type) #region NurbsBeginDataCallback(int type, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void beginData(GLenum type, void *userData); public delegate void NurbsBeginDataCallback(int type, [In] IntPtr[] userData); #endregion NurbsBeginDataCallback(int type, [In] IntPtr[] userData) #region NurbsColorCallback([In] float[] colorData) /// /// Callback (delegate) for use with . /// /// // void color(GLfloat *color); public delegate void NurbsColorCallback([In] float[] colorData); #endregion NurbsColorCallback([In] float[] colorData) #region NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void colorData(GLfloat *color, void *userData); public delegate void NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData); #endregion NurbsColorDataCallback([In] float[] colorData, [In] IntPtr[] userData) #region NurbsEndCallback() /// /// Callback (delegate) for use with . /// /// // void end(void); public delegate void NurbsEndCallback(); #endregion NurbsEndCallback() #region NurbsEndDataCallback([In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void endData(void *userData); public delegate void NurbsEndDataCallback([In] IntPtr[] userData); #endregion NurbsEndDataCallback([In] IntPtr[] userData) #region NurbsErrorCallback(int type) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUnurbsErrorProc) (GLenum); public delegate void NurbsErrorCallback(int type); #endregion NurbsErrorCallback(int type) #region NurbsNormalCallback([In] float[] normalData) /// /// Callback (delegate) for use with . /// /// // void normal(GLfloat *normal); public delegate void NurbsNormalCallback([In] float[] normalData); #endregion NurbsNormalCallback([In] float[] normalData) #region NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void normalData(GLfloat *normal, void *userData); public delegate void NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData); #endregion NurbsNormalDataCallback([In] float[] normalData, [In] IntPtr[] userData) #region NurbsTexCoordCallback([In] float[] texCoord) /// /// Callback (delegate) for use with . /// /// // void texCoord(GLfloat *tex coord); public delegate void NurbsTexCoordCallback([In] float[] texCoord); #endregion NurbsTexCoordCallback([In] float[] texCoord) #region NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void texCoordData(GLfloat *tex coord, void *userData); public delegate void NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData); #endregion NurbsTexCoordDataCallback([In] float[] texCoord, [In] IntPtr[] userData) #region NurbsVertexCallback([In] float[] vertexData) /// /// Callback (delegate) for use with . /// /// // void vertex(GLfloat *vertex); public delegate void NurbsVertexCallback([In] float[] vertexData); #endregion NurbsVertexCallback([In] float[] vertexData) #region NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData) /// /// Callback (delegate) for use with . /// /// // void vertexData(GLfloat *vertex, void *userData); public delegate void NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData); #endregion NurbsVertexDataCallback([In] float[] vertexData, [In] IntPtr[] userData) #region QuadricErrorCallback(int errorCode) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUquadricErrorProc) (GLenum); public delegate void QuadricErrorCallback(int errorCode); #endregion QuadricErrorCallback(int errorCode) #region TessBeginCallback(int type) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessBeginProc) (GLenum); public delegate void TessBeginCallback(int type); #endregion TessBeginCallback(int type) #region TessBeginDataCallback(int type, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessBeginDataProc) (GLenum, void *); public delegate void TessBeginDataCallback(int type, [In] IntPtr polygonData); #endregion TessBeginDataCallback(int type, [In] IntPtr polygonData) #region TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessCombineProc) (GLdouble[3], void*[4], GLfloat[4], void**); public delegate void TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData); #endregion TessCombineCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData) #region TessCombineCallback1([In] double[] coordinates, [In] double[][] vertexData, [In] float[] weight, [Out] double[] outData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessCombineProc) (GLdouble[3], void*[4], GLfloat[4], void**); public delegate void TessCombineCallback1([MarshalAs(UnmanagedType.LPArray, SizeConst = 3)] [In] double[] coordinates, [MarshalAs(UnmanagedType.LPArray, SizeConst = 4)] [In] double[] vertexData, [MarshalAs(UnmanagedType.LPArray, SizeConst = 4)] [In] float[] weight, [Out] double[] outData); #endregion TessCombineCallback1([In] double[] coordinates, [In] double[][] vertexData, [In] float[] weight, [Out] double[] outData) #region TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessCombineDataProc) (GLdouble[3], void*[4], GLfloat[4], void**, void*); public delegate void TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData); #endregion TessCombineDataCallback([In] double[] coordinates, [In] IntPtr[] vertexData, [In] float[] weight, [Out] IntPtr[] outData, [In] IntPtr polygonData) #region TessEdgeFlagCallback(int flag) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEdgeFlagProc) (GLboolean); public delegate void TessEdgeFlagCallback(int flag); #endregion TessEdgeFlagCallback(int flag) #region TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEdgeFlagDataProc) (GLboolean, void *); public delegate void TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData); #endregion TessEdgeFlagDataCallback(int flag, [In] IntPtr polygonData) #region TessEndCallback() /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEndProc) (void); public delegate void TessEndCallback(); #endregion TessEndCallback() #region TessEndDataCallback([In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessEndDataProc) (void *); public delegate void TessEndDataCallback(IntPtr polygonData); #endregion TessEndDataCallback(IntPtr polygonData) #region TessErrorCallback(int errorCode) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessErrorProc) (GLenum); public delegate void TessErrorCallback(int errorCode); #endregion TessErrorCallback(int errorCode) #region TessErrorDataCallback(int errorCode, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessErrorDataProc) (GLenum, void *); public delegate void TessErrorDataCallback(int errorCode, [In] IntPtr polygonData); #endregion TessErrorDataCallback(int errorCode, [In] IntPtr polygonData) #region TessVertexCallback([In] IntPtr vertexData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessVertexProc) (void *); public delegate void TessVertexCallback([In] IntPtr vertexData); #endregion TessVertexCallback([In] IntPtr vertexData) #region TessVertexCallback1([In] double[] vertexData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessVertexProc) (void *); public delegate void TessVertexCallback1([In] double[] vertexData); #endregion TessVertexCallback1([In] double[] vertexData) #region TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData) /// /// Callback (delegate) for use with . /// /// // typedef void (CALLBACK* GLUtessVertexDataProc) (void *, void *); public delegate void TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData); #endregion TessVertexDataCallback([In] IntPtr vertexData, [In] IntPtr polygonData) // --- Private Externs --- #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) #region __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluNurbsCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func); #endregion __gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) #region __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluQuadricCallback(GLUquadric *qobj, GLenum which, void (CALLBACK* fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluQuadricCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func); #endregion __gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) #region __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) /// /// Called from . /// /// /// This method is not CLS-compliant due to naming conventions. /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluTessCallback"), SuppressUnmanagedCodeSecurity] private static extern void __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func); #endregion __gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) // --- Public Externs --- #region gluBeginCurve([In] GLUnurbs nurb) /// /// Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use gluBeginCurve to mark the beginning of a NURBS curve definition. /// After calling gluBeginCurve, make one or more calls to /// to define the attributes of the curve. Exactly /// one of the calls to must have a curve type of /// or . To /// mark the end of the NURBS curve definition, call . /// /// /// OpenGL evaluators are used to render the NURBS curve as a series of line /// segments. Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib. For /// information on exactly what state these calls preserve, see /// . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals; texture /// coordinates and normals are also specified as NURBS curves: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginCurve(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginCurve([In] GLUnurbs nurb); #endregion gluBeginCurve([In] GLUnurbs nurb) #region gluBeginPolygon([In] GLUtesselator tess) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// /// gluBeginPolygon delimits the definition of a nonconvex polygon. To /// define such a polygon, first call gluBeginPolygon. Then define the /// contours of the polygon by calling for each /// vertex and to start each new contour. Finally, /// call to signal the end of the definition. See /// the and reference /// pages for more details. /// /// /// Once is called, the polygon is tessellated, and /// the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// NOTES /// /// /// This command is obsolete and is provided for backward compatibility only. /// Calls to gluBeginPolygon are mapped to /// followed by /// . Calls to /// are mapped to followed by /// . /// /// /// EXAMPLE /// /// /// A quadrilateral with a triangular hole in it can be described like this: /// /// /// /// Glu.gluBeginPolygon(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluNextContour(tobj, Glu.GLU_INTERIOR); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluEndPolygon(tobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginPolygon(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginPolygon([In] GLUtesselator tess); #endregion gluBeginPolygon([In] GLUtesselator tess) #region gluBeginSurface([In] GLUnurbs nurb) /// /// Delimits a NURBS surface definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use gluBeginSurface to mark the beginning of a NURBS surface /// definition. After calling gluBeginSurface, make one or more calls to /// to define the attributes of the surface. /// Exactly one of these calls to must have a /// surface type of or /// . To mark the end of the NURBS surface /// definition, call . /// /// /// Trimming of NURBS surfaces is supported with , /// , , and /// . See the reference /// page for details. /// /// /// OpenGL evaluators are used to render the NURBS surface as a set of polygons. /// Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib(). See the /// reference page for details on exactly what /// state these calls preserve. /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS surface with normals; the /// texture coordinates and normals are also described as NURBS surfaces: /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginSurface(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginSurface([In] GLUnurbs nurb); #endregion gluBeginSurface([In] GLUnurbs nurb) #region gluBeginTrim([In] GLUnurbs nurb) /// /// Delimits a NURBS trimming loop definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use gluBeginTrim to mark the beginning of a trimming loop, and /// to mark the end of a trimming loop. A trimming /// loop is a set of oriented curve segments (forming a closed curve) that define /// boundaries of a NURBS surface. You include these trimming loops in the /// definition of a NURBS surface, between calls to /// and . /// /// /// The definition for a NURBS surface can contain many trimming loops. For /// example, if you wrote a definition for a NURBS surface that resembled a /// rectangle with a hole punched out, the definition would contain two trimming /// loops. One loop would define the outer edge of the rectangle; the other /// would define the hole punched out of the rectangle. The definitions of each /// of these trimming loops would be bracketed by a gluBeginTrim and /// pair. /// /// /// The definition of a single closed trimming loop can consist of multiple curve /// segments, each described as a piecewise linear curve (see /// ) or as a single NURBS curve (see /// ), or as a combination of both in any order. The /// only library calls that can appear in a trimming loop definition (between the /// calls to gluBeginTrim and ) are /// and . /// /// /// The area of the NURBS surface that is displayed is the region in the domain /// to the left of the trimming curve as the curve parameter increases. Thus, /// the retained region of the NURBS surface is inside a counterclockwise /// trimming loop and outside a clockwise trimming loop. For the rectangle /// mentioned earlier, the trimming loop for the outer edge of the rectangle runs /// counterclockwise, while the trimming loop for the punched-out hole runs /// clockwise. /// /// /// If you use more than one curve to define a single trimming loop, the curve /// segments must form a closed loop (that is, the endpoint of each curve must be /// the starting point of the next curve, and the endpoint of the final curve /// must be the starting point of the first curve). If the endpoints of the /// curve are sufficiently close together but not exactly coincident, they will /// be coerced to match. If the endpoints are not sufficiently close, an error /// results (see ). /// /// /// If a trimming loop definition contains multiple curves, the direction of the /// curves must be consistent (that is, the inside must be to the left of all of /// the curves). Nested trimming loops are legal as long as the curve /// orientations alternate correctly. If trimming curves are self-intersecting, /// or intersect one another, an error results. /// /// /// If no trimming information is given for a NURBS surface, the entire surface /// is drawn. /// /// /// EXAMPLE /// /// /// This code fragment defines a trimming loop that consists of one piecewise /// linear curve, and two NURBS curves: /// /// /// /// Glu.gluBeginTrim(nobj); /// Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3); /// Glu.gluEndTrim(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluBeginTrim(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluBeginTrim([In] GLUnurbs nurb); #endregion gluBeginTrim([In] GLUnurbs nurb) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] byte[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] double[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] short[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] int[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] float[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , , ] data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[, ,] data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] uint[ , , ] data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] IntPtr data) #region int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void *data) /// /// Builds a subset of one-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// or 4 or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// or . /// /// /// Specifies the width in pixels of the texture image. This should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of: /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmapLevels builds a subset of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half until size 1×1 is reached. At each level, each texel /// in the halved mipmap level is an average of the corresponding two texels in /// the larger mipmap level. is called to load /// these mipmap levels from min to max. If max is larger /// than the highest mipmap level for the texture of the specified size, then a /// GLU error code is returned (see ) and nothing is /// loaded. /// /// /// For example, if level is 2 and width is 16, the following /// levels are possible: 16×1, 8×1, 4×1, 2×1, 1×1. These correspond to levels 2 /// through 6 respectively. If min is 3 and max is 5, then only /// mipmap levels 8×1, 4×1 and 2×1 are loaded. However, if max is 7 then /// an error is returned and nothing is loaded since max is larger than /// the highest mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2((width)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for type parameter. See the /// reference page for a description of the /// acceptable values for level parameter. /// /// /// NOTES /// /// /// gluBuild1DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width is < 1. /// /// /// is returned if internalFormat, /// format, or type are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void* data); #endregion int gluBuild1DMipmapLevels(int target, int internalFormat, int width, int format, int type, int level, int min, int max, [In] void *data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] byte[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] double[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] short[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] int[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] float[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] ushort[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , , ] data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[, ,] data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] uint[ , , ] data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] IntPtr data) #region int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void *data) /// /// Builds a one-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , or /// . /// /// /// Specifies the width, in pixels, of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild1DMipmaps builds a series of prefiltered one-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width of data is checked to see if it is a power /// of 2. If not, a copy of data is scaled up or down to the nearest /// power of 2. (If width is exactly between powers of 2, then the copy /// of data will scale upwards.) This copy will be used for subsequent /// mipmapping operations described below. For example, if width is 57 /// then a copy of data will scale up to 64 before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, width /// is continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half until size 1×1 is reached. At each level, each texel in the halved /// mipmap level is an average of the corresponding two texels in the larger /// mipmap level. /// /// /// glTexImage1D is called to load each of these mipmap levels. Level 0 /// is a copy of data. The highest level is log2(width). For /// example, if width is 64 and the implementation can store a texture of /// this size, the following mipmap levels are built: 64×1, 32×1, 16×1, 8×1, 4×1, /// 2×1 and 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for the type parameter. See the /// reference page for a description of the /// acceptable values for the data parameter. /// /// /// NOTES /// /// /// Note that there is no direct way of querying the maximum level. This can be /// derived indirectly via . First, /// query for the width actually used at level 0. (The width may not be equal to /// width since proxy textures might have scaled it to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(width). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater, and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width is < 1. /// /// /// is returned if format or type /// are not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild1DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void* data); #endregion int gluBuild1DMipmaps(int target, int internalFormat, int width, int format, int type, [In] void *data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] byte[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] double[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] short[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] int[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] float[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , , ] data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[, ,] data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] uint[ , , ] data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] IntPtr data) #region int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void *data) /// /// Builds a subset of two-dimensional mipmap levels. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies the width, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the height, in pixels, of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmapLevels builds a subset of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding four texels in the larger mipmap level. (In the case of /// rectangular images, the decimation will ultimately reach an N×1 or 1×N /// configuration. Here, two texels are averaged instead.) /// is called to load these mipmap levels from /// min to max. If max is larger than the highest mipmap /// level for the texture of the specified size, then a GLU error code is /// returned (see ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16 and height is /// 8, the following levels are possible: 16×8, 8×4, 4×2, 2×1, 1×1. These /// correspond to levels 2 through 6 respectively. If min is 3 and /// max is 5, then only mipmap levels 8×4, 4×2 and 2×1 are loaded. /// However, if max is 7 then an error is returned and nothing is loaded /// since max is larger than the highest mipmap level which is, in this /// case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild2DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void* data); #endregion int gluBuild2DMipmapLevels(int target, int internalFormat, int width, int height, int format, int type, int level, int min, int max, [In] void *data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] byte[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] double[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] short[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] int[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] float[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] ushort[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , , ] data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[, ,] data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] uint[ , , ] data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] IntPtr data) #region int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void *data) /// /// Builds a two-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or /// . /// /// /// Specifies, in pixels, the width of the texture image. /// /// /// Specifies, in pixels, the height of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild2DMipmaps builds a series of prefiltered two-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for /// the antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width and height of data are checked to /// see if they are a power of 2. If not, a copy of data (not data /// itself), is scaled up or down to the nearest power of 2. This copy will be /// used for subsequent mipmapping operations described below. (If width /// or height is exactly between powers of 2, then the copy of data /// will scale upwards.) For example, if width is 57 and height is /// 23 then a copy of data will scale up to 64 in width and down to /// 16 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, both /// dimensions are continually halved until it fits. (If the OpenGL version is /// <= 1.0, both maximum texture dimensions are clamped to the value returned /// by with the argument /// .) /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along both dimensions until size 1×1 is reached. At each level, each /// texel in the halved mipmap level is an average of the corresponding four /// texels in the larger mipmap level. (In the case of rectangular images, the /// decimation will ultimately reach an N×1 or 1×N configuration. Here, two /// texels are averaged instead.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height)). For example, if width is 64 and /// height is 16 and the implementation can store a texture of this size, /// the following mipmap levels are built: 64×16, 32×8, 16×4, 8×2, 4×1, 2×1 and /// 1×1. These correspond to levels 0 through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width and height actually used at level 0. (The width and height may not /// be equal to width and height respectively since proxy textures /// might have scaled them to fit the implementation.) Then the maximum level /// can be derived from the formula log2(max(width,height)). /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater and if the GLU version is 1.3 or greater. /// /// /// ERRORS /// /// /// is returned if width or height /// is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild2DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void* data); #endregion int gluBuild2DMipmaps(int target, int internalFormat, int width, int height, int format, int type, [In] void *data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] byte[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] double[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] short[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] int[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] float[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] ushort[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , , ] data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[, ,] data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] uint[ , , ] data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] IntPtr data) #region int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void *data) /// /// Builds a subset of three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the height of the texture image. Should be a power of 2. /// /// /// Specifies, in pixels, the depth of the texture image. Should be a power of 2. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies the mipmap level of the image data. /// /// /// Specifies the minimum mipmap level to pass to . /// /// /// Specifies the maximum mipmap level to pass to . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmapLevels builds a subset of prefiltered /// three-dimensional texture maps of decreasing resolutions called a mipmap. /// This is used for the antialiasing of texture mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// A series of mipmap levels from min to max is built by /// decimating data in half along both dimensions until size 1×1×1 is /// reached. At each level, each texel in the halved mipmap level is an average /// of the corresponding eight texels in the larger mipmap level. (If exactly /// one of the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// is called to load these mipmap levels from min to max. If /// max is larger than the highest mipmap level for the texture of the /// specified size, then a GLU error code is returned (see /// ) and nothing is loaded. /// /// /// For example, if level is 2 and width is 16, height is 8 /// and depth is 4, the following levels are possible: 16×8×4, 8×4×2, /// 4×2×1, 2×1×1, 1×1×1. These correspond to levels 2 through 6 respectively. /// If min is 3 and max is 5, then only mipmap levels 8×4×2, /// 4×2×1 and 2×1×1 are loaded. However, if max is 7 then an error is /// returned and nothing is loaded since max is larger than the highest /// mipmap level which is, in this case, 6. /// /// /// The highest mipmap level can be derived from the formula /// log2(max(width,height,depth)*(2^level)). /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// gluBuild3DMipmapLevels is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if level > min, /// min < 0, max < min or max is > the /// highest mipmap level for data. /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmapLevels (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void* data); #endregion int gluBuild3DMipmapLevels(int target, int internalFormat, int width, int height, int depth, int format, int type, int level, int min, int max, [In] void *data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] byte[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] double[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] short[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] int[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] float[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] ushort[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , , ] data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[, ,] data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] uint[ , , ] data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] IntPtr data) #region int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void *data) /// /// Builds a three-dimensional mipmap. /// /// /// Specifies the target texture. Must be . /// /// /// Requests the internal storage format of the texture image. Must be 1, 2, 3, /// 4, or one of the following symbolic constants: , /// , , /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies, in pixels, the width in pixels of the texture image. /// /// /// Specifies, in pixels, the height in pixels of the texture image. /// /// /// Specifies, in pixels, the depth in pixels of the texture image. /// /// /// Specifies the format of the pixel data. Must be one of /// , , /// , , /// , , /// , , /// , , /// , or . /// /// /// Specifies the data type for data. Must be one of: /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// Specifies a pointer to the image data in memory. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluBuild3DMipmaps builds a series of prefiltered three-dimensional /// texture maps of decreasing resolutions called a mipmap. This is used for the /// antialiasing of texture-mapped primitives. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// Initially, the width, height and depth of data /// are checked to see if they are a power of two. If not, a copy of data /// (not data itself), is scaled up or down to the nearest power of two. /// This copy will be used for subsequent mipmapping operations described below. /// (If width, height or depth is exactly between powers of /// 2, then the copy of data will scale upwards.) For example, if /// width is 57, height is 23 and depth is 24 then a copy of /// data will scale up to 64 in width, down to 16 in height /// and up to 32 in depth, before mipmapping takes place. /// /// /// Then, proxy textures (see ) are used to /// determine if the implementation can fit the requested texture. If not, all /// three dimensions are continually halved until it fits. /// /// /// Next, a series of mipmap levels is built by decimating a copy of data /// in half along all three dimensions until size 1×1×1 is reached. At each /// level, each texel in the halved mipmap level is an average of the /// corresponding eight texels in the larger mipmap level. (If exactly one of /// the dimensions is 1, four texels are averaged. If exactly two of the /// dimensions are 1, two texels are averaged.) /// /// /// is called to load each of these mipmap levels. /// Level 0 is a copy of data. The highest level is /// log2(max(width,height,depth)). For example, if width is 64, /// height is 16 and depth is 32, and the implementation can store /// a texture of this size, the following mipmap levels are built: 64×16×32, /// 32×8×16, 16×4×8, 8×2×4, 4×1×2, 2×1×1 and 1×1×1. These correspond to levels 0 /// through 6, respectively. /// /// /// See the reference page for a description of /// the acceptable values for format parameter. See the /// reference page for a description of the /// acceptable values for type parameter. /// /// /// NOTES /// /// /// There is no direct way of querying the maximum level. This can be derived /// indirectly via . First, query for /// the width, height and depth actually used at level 0. (The width, height /// and depth may not be equal to width, height and depth /// respectively since proxy textures might have scaled them to fit the /// implementation.) Then the maximum level can be derived from the formula /// log2(max(width,height,depth)). /// /// /// gluBuild3DMipmaps is only available if the GLU version is 1.3 or /// greater. /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if width, height, /// or depth is < 1. /// /// /// is returned if internalFormat, /// format, or type is not legal. /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is not /// . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// is returned if type is /// or /// and format is neither /// nor . /// /// /// /// /// /// /// /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluBuild3DMipmaps (GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void* data); #endregion int gluBuild3DMipmaps(int target, int internalFormat, int width, int height, int depth, int format, int type, [In] void *data) #region int gluCheckExtension(string extensionName, string extensionString) /// /// Determines if an extension name is supported. /// /// /// Specifies an extension name. /// /// /// Specifies a space-separated list of extension names supported. /// /// /// Returns if extensionName is supported /// otherwise is returned. /// /// /// /// gluCheckExtension is used to check for the presence for OpenGL, GLU or /// GLX extension names by passing the extension strings returned by /// , , /// /*see cref="glXGetClientString" />*/, /*see cref="glXQueryExtensionsString" />*/, /// or /*see cref="glXQueryServerString" />*/, respectively, as /// extensionString. /// /// /// Returns if extensionName is supported /// otherwise is returned. /// /// /// NOTES /// /// /// Cases where one extension name is a substring of another are correctly /// handled. /// /// /// There may or may not be leading or trailing blanks in extensionString. /// /// /// Extension names should not contain embedded spaces. /// /// /// All strings are null-terminated. /// /// /// /// /// /*seealso cref="glXGetClientString" />*/ /// /*seealso cref="glXQueryExtensionsString" />*/ /// /*seealso cref="glXQueryServerString" />*/ // GLAPI GLboolean GLAPIENTRY gluCheckExtension (const GLubyte *extName, const GLubyte *extString); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluCheckExtension(string extensionName, string extensionString); #endregion int gluCheckExtension(string extensionName, string extensionString) #region gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks) /// /// Draws a cylinder. /// /// /// Specifies the quadrics object (created with ). /// /// /// Specifies the radius of the cylinder at z = 0. /// /// /// Specifies the radius of the cylinder at z = height. If top is /// set to 0, this subroutine generates a cone. /// /// /// Specifies the height of the cylinder. /// /// /// Specifies the number of subdivisions around the z axis. /// /// /// Specifies the number of subdivisions along the z axis. /// /// /// /// gluCylinder draws a cylinder oriented along the z axis. The base of /// the cylinder is placed at z = 0, and the top at z = height. Like a sphere, /// a cylinder is subdivided around the z axis into slices, and along the z axis /// into stacks. /// /// /// Note that if top is set to 0.0, this routine generates a cone. /// /// /// If the orientation is set to (with /// ), then any generated normals point away /// from the z axis. Otherwise, they point toward the z axis. /// /// /// If texturing is turned on using the /// subroutine, texture coordinates are generated so that t ranges linearly from /// 0.0 at z = 0 to 1.0 at z = height, and s ranges from 0.0 at the +y axis to /// 0.25 at the +x axis, as well as up to 0.5 at the -y axis and 0.75 at the /// -x axis, then back to 1.0 at the +y axis. /// /// /// /// /// /// /// /// // void APIENTRY gluCylinder(GLUquadric *qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks); #endregion gluCylinder([In] GLUquadric quad, double baseRadius, double topRadius, double height, int slices, int stacks) #region gluDeleteNurbsRenderer([In] GLUnurbs nurb) /// /// Destroys a NURBS object. /// /// /// The NURBS object to be destroyed (created with /// ). /// /// /// gluDeleteNurbsRenderer destroys the NURBS object (which was created with /// ) and frees any memory it uses. Once /// gluDeleteNurbsRenderer has been called, nurb cannot be used again. /// /// // void APIENTRY gluDeleteNurbsRenderer(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDeleteNurbsRenderer([In] GLUnurbs nurb); #endregion gluDeleteNurbsRenderer([In] GLUnurbs nurb) #region gluDeleteQuadric([In] GLUquadric quad) /// /// Destroys a quadrics object. /// /// /// The quadric object to be destroyed (created with /// ). /// /// /// gluDeleteQuadric destroys the quadrics object (created with /// ) and frees any memory it uses. Once /// gluDeleteQuadric has been called, quad cannot be used again. /// /// // void APIENTRY gluDeleteQuadric(GLUquadric *state); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDeleteQuadric([In] GLUquadric quad); #endregion gluDeleteQuadric([In] GLUquadric quad) #region gluDeleteTess([In] GLUtesselator tess) /// /// Destroys a tessellation object. /// /// /// The tessellation object to destroy (created with ). /// /// /// gluDeleteTess destroys the indicated tessellation object (which was /// created with ) and frees any memory that it used. /// Once gluDeleteTess has been called, tess cannot be used again. /// /// /// /// // void APIENTRY gluDeleteTess(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDeleteTess([In] GLUtesselator tess); #endregion gluDeleteTess([In] GLUtesselator tess) #region gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops) /// /// Draws a disk. /// /// /// The quadric object (created with ). /// /// /// The inner radius of the disk (may be zero). /// /// /// The outer radius of the disk. /// /// /// The number of subdivisions around the z-axis. /// /// /// The number of concentric rings about the origin into which the disk is subdivided. /// /// /// /// gluDisk renders a disk on the z = 0 plane. The disk has a radius of /// outerRadius, and contains a concentric circular hole with a radius of /// innerRadius. If innerRadius is 0, then no hole is generated. /// The disk is subdivided around the z axis into slices (like pizza slices), /// and also about the z axis into rings (as specified by slices and /// loops, respectively). /// /// /// With respect to orientation, the +z side of the disk is considered to be /// "outside" (see ). This means that if the /// orientation is set to , then any normals generated /// point along the +z axis. Otherwise, they point along the -z axis. /// /// /// If texturing has been turned on (with ), /// texture coordinates are generated linearly such that where r = outerRadius, /// the value at (r, 0, 0) is (1, 0.5), at (0, r, 0) it is (0.5, 1), at /// (-r, 0, 0) it is (0, 0.5), and at (0, -r, 0) it is (0.5, 0). /// /// /// /// /// /// /// /// // void APIENTRY gluDisk(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops); #endregion gluDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops) #region gluEndCurve([In] GLUnurbs nurb) /// /// Delimits a Non-Uniform Rational B-Spline (NURBS) curve definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use to mark the beginning of a NURBS curve /// definition. After calling , make one or more /// calls to to define the attributes of the curve. /// Exactly one of the calls to must have a curve /// type of or /// . To mark the end of the NURBS curve /// definition, call gluEndCurve. /// /// /// OpenGL evaluators are used to render the NURBS curve as a series of line /// segments. Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib. For /// information on exactly what state these calls preserve, see /// . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals; texture /// coordinates and normals are also specified as NURBS curves: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndCurve(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndCurve([In] GLUnurbs nurb); #endregion gluEndCurve([In] GLUnurbs nurb) #region gluEndPolygon([In] GLUtesselator tess) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// /// delimits the definition of a nonconvex /// polygon. To define such a polygon, first call /// . Then define the contours of the polygon by /// calling for each vertex and /// to start each new contour. Finally, call /// gluEndPolygon to signal the end of the definition. See the /// and reference /// pages for more details. /// /// /// Once gluEndPolygon is called, the polygon is tessellated, and the /// resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// NOTES /// /// /// This command is obsolete and is provided for backward compatibility only. /// Calls to are mapped to /// followed by /// . Calls to gluEndPolygon are mapped /// to followed by /// . /// /// /// EXAMPLE /// /// /// A quadrilateral with a triangular hole in it can be described like this: /// /// /// /// Glu.gluBeginPolygon(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluNextContour(tobj, Glu.GLU_INTERIOR); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluEndPolygon(tobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndPolygon(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndPolygon([In] GLUtesselator tess); #endregion gluEndPolygon([In] GLUtesselator tess) #region gluEndSurface([In] GLUnurbs nurb) /// /// Delimits a NURBS surface definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use to mark the beginning of a NURBS surface /// definition. After calling , make one or more /// calls to to define the attributes of the /// surface. Exactly one of these calls to must /// have a surface type of or /// . To mark the end of the NURBS surface /// definition, call gluEndSurface. /// /// /// Trimming of NURBS surfaces is supported with , /// , , and /// . See the reference /// page for details. /// /// /// OpenGL evaluators are used to render the NURBS surface as a set of polygons. /// Evaluator state is preserved during rendering with /// Gl.glPushAttrib(Gl.GL_EVAL_BIT) and Gl.glPopAttrib(). See the /// reference page for details on exactly what /// state these calls preserve. /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS surface with normals; the /// texture coordinates and normals are also described as NURBS surfaces: /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, ..., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndSurface(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndSurface([In] GLUnurbs nurb); #endregion gluEndSurface([In] GLUnurbs nurb) #region gluEndTrim([In] GLUnurbs nurb) /// /// Delimits a NURBS trimming loop definition. /// /// /// The NURBS object (created with ). /// /// /// /// Use to mark the beginning of a trimming loop, and /// gluEndTrim to mark the end of a trimming loop. A trimming loop is a /// set of oriented curve segments (forming a closed curve) that define /// boundaries of a NURBS surface. You include these trimming loops in the /// definition of a NURBS surface, between calls to /// and . /// /// /// The definition for a NURBS surface can contain many trimming loops. For /// example, if you wrote a definition for a NURBS surface that resembled a /// rectangle with a hole punched out, the definition would contain two trimming /// loops. One loop would define the outer edge of the rectangle; the other /// would define the hole punched out of the rectangle. The definitions of each /// of these trimming loops would be bracketed by a /// and gluEndTrim pair. /// /// /// The definition of a single closed trimming loop can consist of multiple curve /// segments, each described as a piecewise linear curve (see /// ) or as a single NURBS curve (see /// ), or as a combination of both in any order. The /// only library calls that can appear in a trimming loop definition (between the /// calls to and gluEndTrim are /// and . /// /// /// The area of the NURBS surface that is displayed is the region in the domain /// to the left of the trimming curve as the curve parameter increases. Thus, /// the retained region of the NURBS surface is inside a counterclockwise /// trimming loop and outside a clockwise trimming loop. For the rectangle /// mentioned earlier, the trimming loop for the outer edge of the rectangle runs /// counterclockwise, while the trimming loop for the punched-out hole runs /// clockwise. /// /// /// If you use more than one curve to define a single trimming loop, the curve /// segments must form a closed loop (that is, the endpoint of each curve must be /// the starting point of the next curve, and the endpoint of the final curve /// must be the starting point of the first curve). If the endpoints of the /// curve are sufficiently close together but not exactly coincident, they will /// be coerced to match. If the endpoints are not sufficiently close, an error /// results (see ). /// /// /// If a trimming loop definition contains multiple curves, the direction of the /// curves must be consistent (that is, the inside must be to the left of all of /// the curves). Nested trimming loops are legal as long as the curve /// orientations alternate correctly. If trimming curves are self-intersecting, /// or intersect one another, an error results. /// /// /// If no trimming information is given for a NURBS surface, the entire surface /// is drawn. /// /// /// EXAMPLE /// /// /// This code fragment defines a trimming loop that consists of one piecewise /// linear curve, and two NURBS curves: /// /// /// /// Glu.gluBeginTrim(nobj); /// Glu.gluPwlCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_2); /// Glu.gluNurbsCurve(..., Glu.GLU_MAP1_TRIM_3); /// Glu.gluEndTrim(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluEndTrim(GLUnurbs *nobj); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluEndTrim([In] GLUnurbs nurb); #endregion gluEndTrim([In] GLUnurbs nurb) #region string gluErrorString(int errorCode) /// /// Produces an error string from a GL or GLU error code. /// /// /// An OpenGL or GLU error code. /// /// /// A string representation of the error. /// /// /// /// gluErrorString produces an error string from a GL or GLU error code. /// The string is in ISO Latin 1 format. For example, /// gluErrorString(Gl.GL_OUT_OF_MEMORY) returns the string 'out of /// memory'. /// /// /// The standard GLU error codes are , /// , and . /// Certain other GLU functions can return specialized error codes through /// callbacks. See the reference page for the list /// of GL error codes. /// /// /// ERRORS /// /// /// NULL is returned if errorCode is not a valid GL or GLU error /// code. /// /// /// /// /// /// // const GLubyte* APIENTRY gluErrorString(GLenum errCode); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluErrorString"), SuppressUnmanagedCodeSecurity] private static extern IntPtr gluErrorStringUnsafe(int errorCode); public static string gluErrorString(int errorCode) { return Marshal.PtrToStringAnsi(gluErrorStringUnsafe(errorCode)); } #endregion string gluErrorString(int errorCode) #region string gluErrorStringWIN(int errorCode) /// /// Produces an error string from a GL or GLU error code. /// /// /// An OpenGL or GLU error code. /// /// /// A string representation of the error. /// /// /// /// gluErrorStringWIN produces an error string from a GL or GLU error /// code. The string is in UNICODE format. For example, /// gluErrorStringWIN(Gl.GL_OUT_OF_MEMORY) returns the string 'out of /// memory'. /// /// /// The standard GLU error codes are , /// , and . /// Certain other GLU functions can return specialized error codes through /// callbacks. See the reference page for the list /// of GL error codes. /// /// /// ERRORS /// /// /// NULL is returned if errorCode is not a valid GL or GLU error /// code. /// /// /// /// /// /// // const GLubyte* APIENTRY gluErrorStringWIN(GLenum errCode); public static string gluErrorStringWIN(int errorCode) { return gluErrorUnicodeStringEXT(errorCode); } #endregion string gluErrorStringWIN(int errorCode) #region string gluErrorUnicodeStringEXT(int errorCode) /// /// Produces an error string from a GL or GLU error code. /// /// /// An OpenGL or GLU error code. /// /// /// A Unicode string representation of the error. /// /// /// /// gluErrorString produces an error string from a GL or GLU error code. /// The string is in UNICODE format. For example, /// gluErrorString(Gl.GL_OUT_OF_MEMORY) returns the string 'out of /// memory'. /// /// /// The standard GLU error codes are , /// , and . /// Certain other GLU functions can return specialized error codes through /// callbacks. See the reference page for the list /// of GL error codes. /// /// /// ERRORS /// /// /// NULL is returned if errorCode is not a valid GL or GLU error /// code. /// /// /// /// /// /// // const wchar_t* APIENTRY gluErrorUnicodeStringEXT(GLenum errCode); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluErrorUnicodeStringEXT"), SuppressUnmanagedCodeSecurity] private static extern IntPtr gluErrorUnicodeStringEXTUnsafe(int errorCode); public static string gluErrorUnicodeStringEXT(int errorCode) { return Marshal.PtrToStringAnsi(gluErrorUnicodeStringEXTUnsafe(errorCode)); } #endregion string gluErrorUnicodeStringEXT(int errorCode) #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data) /// /// Gets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// , , /// , /// , , and /// . /// /// /// A pointer to the location into which the value of the named property is /// written. /// /// /// gluGetNurbsProperty retrieves properties stored in a NURBS object. /// These properties affect the way that NURBS curves and surfaces are rendered. /// See the reference page for information about /// what the properties are and what they do. /// /// /// // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data); #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] float[] data) #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data) /// /// Gets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// , , /// , /// , , and /// . /// /// /// A pointer to the location into which the value of the named property is /// written. /// /// /// gluGetNurbsProperty retrieves properties stored in a NURBS object. /// These properties affect the way that NURBS curves and surfaces are rendered. /// See the reference page for information about /// what the properties are and what they do. /// /// /// // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data); #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, out float data) #region gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data) /// /// Gets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// , , /// , /// , , and /// . /// /// /// A pointer to the location into which the value of the named property is /// written. /// /// /// gluGetNurbsProperty retrieves properties stored in a NURBS object. /// These properties affect the way that NURBS curves and surfaces are rendered. /// See the reference page for information about /// what the properties are and what they do. /// /// /// // void APIENTRY gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data); #endregion gluGetNurbsProperty([In] GLUnurbs nurb, int property, [Out] IntPtr data) #region string gluGetString(int name) /// /// Gets a string that describes the GLU version number or supported GLU extension /// calls. /// /// /// Either the version number of GLU () or available /// vendor-specific extension calls (). /// /// /// Returns a string describing the GLU version or the GLU extensions that are /// supported. /// /// /// /// gluGetString returns a string describing the GLU version or the GLU /// extensions that are supported. When name is /// , the returned string is a value that represents /// the version number of GLU. The format of the version number is as follows: /// /// /// <version number><space><vendor-specific information> /// (for example, "1.2.11 Microsoft Windows NT") /// /// /// The version number has the form "major_number.minor_number" or /// "major_number.minor_number.release_number". The vendor-specific information /// is optional, and the format and contents depend on the implementation. /// /// /// When name is , the returned string /// contains a list of names of supported GLU extensions that are separated by /// spaces. The format of the returned list of names is as follows: /// /// /// <extension_name><space><extension_name><space> . . . /// (for example, "GLU_NURBS GL_TESSELATION") /// /// /// The extension names cannot contain any spaces. /// /// /// NOTES /// /// /// The gluGetString function is valid for GLU version 1.1 or later. /// /// /// All strings are NULL-terminated. /// /// /// gluGetString only returns information about GLU extensions. Call /// to get a list of GL extensions. /// /// /// gluGetString is an initialization routine. Calling it after a /// results in undefined behavior. /// /// /// ERRORS /// /// /// NULL is returned if name is not or /// . /// /// /// // const GLubyte* APIENTRY gluGetString(GLenum name); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION, EntryPoint = "gluGetString"), SuppressUnmanagedCodeSecurity] private static extern IntPtr gluGetStringUnsafe(int name); public static string gluGetString(int name) { return Marshal.PtrToStringAnsi(gluGetStringUnsafe(name)); } #endregion string gluGetString(int name) #region gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data) /// /// Gets a tessellation object property. /// /// /// The tessellation object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// and . /// /// /// A pointer to the location where the value of the named property is written. /// /// /// gluGetTessProperty retrieves properties stored in a tessellation /// object. These properties affect the way that tessellation objects are /// interpreted and rendered. See the reference /// page for information about the properties and what they do. /// /// /// // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data); #endregion gluGetTessProperty([In] GLUtesselator tess, int which, [Out] double[] data) #region gluGetTessProperty([In] GLUtesselator tess, int which, out double data) /// /// Gets a tessellation object property. /// /// /// The tessellation object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// and . /// /// /// A pointer to the location where the value of the named property is written. /// /// /// gluGetTessProperty retrieves properties stored in a tessellation /// object. These properties affect the way that tessellation objects are /// interpreted and rendered. See the reference /// page for information about the properties and what they do. /// /// /// // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, out double data); #endregion gluGetTessProperty([In] GLUtesselator tess, int which, out double data) #region gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data) /// /// Gets a tessellation object property. /// /// /// The tessellation object (created with ). /// /// /// The property whose value is to be retrieved. The following values are valid: /// , , /// and . /// /// /// A pointer to the location where the value of the named property is written. /// /// /// gluGetTessProperty retrieves properties stored in a tessellation /// object. These properties affect the way that tessellation objects are /// interpreted and rendered. See the reference /// page for information about the properties and what they do. /// /// /// // void APIENTRY gluGetTessProperty(GLUtesselator *tess, GLenum which, GLdouble *value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data); #endregion gluGetTessProperty([In] GLUtesselator tess, int which, [Out] IntPtr data) #region gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport) /// /// Loads NURBS sampling and culling matrices. /// /// /// The NURBS object (created with ). /// /// /// A modelview matrix (as from a call). /// /// /// A projection matrix (as from a call). /// /// /// A viewport (as from a call). /// /// /// /// gluLoadSamplingMatrices uses modelMatrix, /// projectionMatrix, and viewport to recompute the sampling and /// culling matrices stored in nurb. The sampling matrix determines how /// finely a NURBS curve or surface must be tessellated to satisfy the sampling /// tolerance (as determined by the /// property). The culling matrix is used in deciding if a NURBS curve or /// surface should be culled before rendering (when the /// property is turned on). /// /// /// gluLoadSamplingMatrices is necessary only if the /// property is turned off (see /// ). Although it can be convenient to leave the /// property turned on, there can be a /// performance penalty for doing so. (A round trip to the GL server is needed /// to fetch the current values of the modelview matrix, projection matrix, and /// viewport.) /// /// /// /// /// /// /// // void APIENTRY gluLoadSamplingMatrices(GLUnurbs *nobj, const GLfloat modelMatrix[16], const GLfloat projMatrix[16], const GLint viewport[4]); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport); #endregion gluLoadSamplingMatrices([In] GLUnurbs nurb, [In] float[] modelMatrix, [In] float[] projectionMatrix, [In] int[] viewport) #region gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) /// /// Defines a viewing transformation. /// /// /// The x axis position of the eye point. /// /// /// The y axis position of the eye point. /// /// /// The z axis position of the eye point. /// /// /// The x axis position of the reference point. /// /// /// The y axis position of the reference point. /// /// /// The z axis position of the reference point. /// /// /// The x axis direction of the up vector. /// /// /// The y axis direction of the up vector. /// /// /// The z axis direction of the up vector. /// /// /// /// gluLookAt creates a viewing matrix derived from an eye point, a /// reference point indicating the center of the scene, and an UP vector. /// /// /// The matrix maps the reference point to the negative z axis and the eye point /// to the origin. When a typical projection matrix is used, the center of the /// scene therefore maps to the center of the viewport. Similarly, the direction /// described by the UP vector projected onto the viewing plane is mapped to the /// positive y axis so that it points upward in the viewport. The UP vector must /// not be parallel to the line of sight from the eye point to the reference /// point. /// /// /// The matrix generated by gluLookAt postmultiplies the current matrix. /// /// /// The matrix M generated by the OpenGL could be computed as follows: /// /// /// Let E be the 3d column vector (eyeX, eyeY, eyeZ). /// Let C be the 3d column vector (centerX, centerY, centerZ). /// Let U be the 3d column vector (upX, upY, upZ). /// Compute L = C - E. /// Normalize L. /// Compute S = L x U. /// Normalize S. /// Compute U' = S x L. /// /// /// M is the matrix whose columns are, in order: /// /// /// (S, 0), (U', 0), (-L, 0), (-E, 1) (all column vectors) /// /// /// Note: This matrix is defined for use in systems where the the modelling /// coordinate vector is a column vector and is multiplied on the left by the /// matrices. If you prefer a row vector which gets multiplied by matrices to /// its right, then use the transpose of this matrix M. /// /// /// Note: It is necessary that the UP vector NOT be parallel to the line /// connecting the center point with the eye point. /// /// /// /// // void APIENTRY gluLookAt(GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ); #endregion gluLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ) #region GLUnurbs gluNewNurbsRenderer() /// /// Creates a NURBS object. /// /// /// Returns a pointer to a new NURBS object. /// /// /// gluNewNurbsRenderer creates and returns a pointer to a new NURBS /// object. This object must be referred to when calling NURBS rendering and /// control functions. A return value of 0 means that there is not enough memory /// to allocate the object. /// /// /// /// /// /// /// // GLUnurbs* APIENTRY gluNewNurbsRenderer(void); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern GLUnurbs gluNewNurbsRenderer(); #endregion GLUnurbs gluNewNurbsRenderer() #region GLUquadric gluNewQuadric() /// /// Creates a quadrics object. /// /// /// Returns a pointer to a new quadrics object. /// /// /// gluNewQuadric creates and returns a pointer to a new quadrics object. /// This object must be referred to when calling quadrics rendering and control /// functions. A return value of 0 means that there is not enough memory to /// allocate the object. /// /// /// /// /// /// /// /// /// /// /// // GLUquadric* APIENTRY gluNewQuadric(void); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern GLUquadric gluNewQuadric(); #endregion GLUquadric gluNewQuadric() #region GLUtesselator gluNewTess() /// /// Creates a tessellation object. /// /// /// Returns a pointer to a new tessellation object. /// /// /// gluNewTess creates and returns a pointer to a new tessellation object. /// This object must be referred to when calling tessellation functions. A /// return value of 0 means that there is not enough memory to allocate the /// object. /// /// /// /// // GLUtesselator* APIENTRY gluNewTess(void); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern GLUtesselator gluNewTess(); #endregion GLUtesselator gluNewTess() #region gluNextContour([In] GLUtesselator tess, int type) /// /// Marks the beginning of another contour. /// /// /// The tessellation object (created with ). /// /// /// /// The type of the contour being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// An exterior contour defines an exterior boundary of the polygon. /// /// /// /// /// /// An interior contour defines an interior boundary of the polygon /// (such as a hole). /// /// /// /// /// /// An unknown contour is analyzed by the library to determine /// whether it is interior or exterior. /// /// /// /// , /// /// /// The first or /// contour defined is considered to be exterior. All other /// contours are considered to be exterior if they are oriented /// in the same direction (clockwise or counterclockwise) as the /// first contour, and interior if they are not. /// /// /// If one contour is of type or /// , then all contours must be of the same /// type (if they are not, then all and /// contours will be changed to /// ). Note that there is no real /// difference between the and /// contour types. /// /// /// /// /// /// /// /// /// gluNextContour is used in describing polygons with multiple contours. /// After the first contour has been described through a series of /// calls, a gluNextContour call indicates /// that the previous contour is complete and that the next contour is about to /// begin. Another series of calls is then used to /// describe the new contour. This process can be repeated until all contours /// have been described. /// /// /// Before the first contour is described, gluNextContour can be called to /// define the type of the first contour. If gluNextContour is not called /// before the first contour, then the first contour is marked /// . /// /// /// This command is obsolete and is provided for backward compatibility only. /// Calls to gluNextContour are mapped to /// followed by . /// /// /// EXAMPLE /// /// /// You can describe a quadrilateral with a triangular hole in it as follows: /// /// /// /// Glu.gluBeginPolygon(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluEndPolygon(tess); /// /// /// /// /// /// /// /// /// // void APIENTRY gluNextContour(GLUtesselator *tess, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNextContour([In] GLUtesselator tess, int type); #endregion gluNextContour([In] GLUtesselator tess, int type) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) { nurbsBeginCallback = func; __gluNurbsCallback(nurb, which, nurbsBeginCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) { nurbsBeginDataCallback = func; __gluNurbsCallback(nurb, which, nurbsBeginDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsBeginDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) { nurbsColorCallback = func; __gluNurbsCallback(nurb, which, nurbsColorCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) { nurbsColorDataCallback = func; __gluNurbsCallback(nurb, which, nurbsColorDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsColorDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) { nurbsEndCallback = func; __gluNurbsCallback(nurb, which, nurbsEndCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) { nurbsEndDataCallback = func; __gluNurbsCallback(nurb, which, nurbsEndDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsEndDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) { nurbsErrorCallback = func; __gluNurbsCallback(nurb, which, nurbsErrorCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsErrorCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) { nurbsNormalCallback = func; __gluNurbsCallback(nurb, which, nurbsNormalCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) { nurbsNormalDataCallback = func; __gluNurbsCallback(nurb, which, nurbsNormalDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsNormalDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) { nurbsTexCoordCallback = func; __gluNurbsCallback(nurb, which, nurbsTexCoordCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) { nurbsTexCoordDataCallback = func; __gluNurbsCallback(nurb, which, nurbsTexCoordDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsTexCoordDataCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) { nurbsVertexCallback = func; __gluNurbsCallback(nurb, which, nurbsVertexCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexCallback func) #region gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) /// /// The gluNurbsCallback mehtod defines a callback for a NURBS object. /// /// /// The NURBS object (created with ). /// /// /// /// The callback being defined. The legal callbacks are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback indicates the start of a primitive. The /// function takes a single argument of type , /// which can be one of , /// , /// , /// , /// , or /// . The default begin callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The color callback is invoked as the color of a vertex is /// generated. The components of the color are stored in the /// parameter colorData. This callback is effective only when /// the user provides a color map ( /// or ). colorData /// contains four components: R,G,B,A. The default color callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The end callback is invoked at the end of a primitive. The /// default end callback function is null. The delegate /// prototype for this callback is . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The error function is called when an error is encountered. Its /// single argument is of type , and it indicates /// the specific error that occurred. There are 37 errors unique to /// NURBS named through /// . Character strings describing /// these errors can be retrieved with . /// The delegate prototype for this callback is /// . /// /// /// /// /// /// The normal callback is invoked as the vertex normal is generated. /// The components of the normal are stored in the parameter /// normalData. In the case of a NURBS curve, the callback /// function is effective only when the user provides a normal map /// (). In the case of a NURBS /// surface, if a normal map () is /// provided, then the generated normal is computed from the normal /// map. If a normal map is not provided then a surface normal is /// computed in a manner similar to that described for evaluators /// when is enabled. The default /// normal callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is a /// copy of the pointer that was specified at the last call to /// . The default callback /// function is null. The delegate prototype for this /// callback is . /// /// /// /// /// /// The texture callback is invoked as the texture coordinates of a /// vertex are generated. These coordinates are stored in the /// parameter texCoord. The number of texture coordinates can /// be 1, 2, 3, or 4 depending on which type of texture map is /// specified (, /// , /// , /// , /// , /// , /// , /// ). If no texture map is /// specified, this callback function will not be called. The /// default texture callback function is null. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// This is the same as the /// callback, except that it takes an additional pointer argument. /// This pointer is a copy of the pointer that was specified at the /// last call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// The vertex callback indicates a vertex of the primitive. The /// coordinates of the vertex are stored in the parameter /// vertexData. All the generated vertices have dimension 3, /// that is, homogeneous coordinates have been transformed into /// affine coordinates. The default vertex callback function is /// null. The delegate prototype for this callback is /// . /// /// /// /// /// /// This is the same as the callback, /// except that it takes an additional pointer argument. This /// pointer is a copy of the pointer that was specified at the last /// call to . The default /// callback function is null. The delegate prototype for /// this callback is . /// /// /// /// /// /// /// The function that the callback invokes. /// /// /// /// gluNurbsCallback is used to define a callback to be used by a NURBS /// object. If the specified callback is already defined, then it is replaced. /// If func is null, then this callback will not get invoked and /// the related data, if any, will be lost. /// /// /// Except the error callback, these callbacks are used by NURBS tessellator /// (when is set to be /// ) to return back the OpenGL polygon /// primitives resulting from the tessellation. Note that there are two /// versions of each callback: one with a user data pointer and one without. If /// both versions for a particular callback are specified then the callback with /// the user data pointer will be used. Note that userData is a copy of /// the pointer that was specified at the last call to /// . /// /// /// The error callback function is effective no matter which value that /// is set to. All other callback functions are /// effective only when is set to /// . /// /// /// NOTES /// /// /// gluNurbsCallback is available only if the GLU version is 1.2 or /// greater. /// /// /// GLU version 1.2 supports only the parameter for /// which. The value is deprecated in GLU /// version 1.3 in favor of . All other /// accepted values for func are available only if the GLU version is 1.3 /// or greater. /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCallback(GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)()); public static void gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) { nurbsVertexDataCallback = func; __gluNurbsCallback(nurb, which, nurbsVertexDataCallback); } #endregion gluNurbsCallback([In] GLUnurbs nurb, int which, [In] NurbsVertexDataCallback func) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] byte[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] double[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] short[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] int[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] float[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] ushort[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[, ,] userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] uint[ , , ] userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] IntPtr userData) #region gluNurbsCallbackData([In] GLUnurbs nurb, [In] void *userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// /// gluNurbsCallbackData is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// /// NOTES /// /// /// gluNurbsCallbackData is available only if the GLU version is 1.3 or /// greater. /// /// /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackData(GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluNurbsCallbackData([In] GLUnurbs nurb, [In] void* userData); #endregion gluNurbsCallbackData([In] GLUnurbs nurb, [In] void *userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] byte[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] double[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] short[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] int[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] float[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] ushort[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , , ] userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[, ,] userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] uint[ , , ] userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] IntPtr userData) #region gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void *userData) /// /// Sets a user data pointer. /// /// /// The NURBS object (created with ). /// /// /// A pointer to the user's data. /// /// /// gluNurbsCallbackDataEXT is used to pass a pointer to the application's /// data to NURBS tessellator. A copy of this pointer will be passed by the /// tessellator in the NURBS callback functions (set by /// ). /// /// // GLAPI void GLAPIENTRY gluNurbsCallbackDataEXT (GLUnurbs* nurb, GLvoid* userData); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void* userData); #endregion gluNurbsCallbackDataEXT([In] GLUnurbs nurb, [In] void *userData) #region gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type) /// /// Defines the shape of a NURBS curve. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in knot. The knotCount parameter equals /// the number of control points plus the order. /// /// /// An array of knotCount nondecreasing knot values. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive curve control points. /// /// /// A pointer to an array of control points. The coordinates must agree with /// type. /// /// /// The order of the NURBS curve. The order parameter equals degree + 1; /// hence a cubic curve has an order of 4. /// /// /// The type of the curve. If this curve is defined within a /// / pair, then the type /// can be any of the valid one-dimensional evaluator types (such as /// or ). /// Between a / pair, the /// only valid types are and /// . /// /// /// /// Use gluNurbsCurve to describe a NURBS curve. /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a curve to be rendered. Positional, texture, and color coordinates /// are associated by presenting each as a separate gluNurbsCurve between /// a / pair. No more than /// one call to gluNurbsCurve for each of color, position, and texture /// data can be made within a single /// / pair. Exactly one /// call must be made to describe the position of the curve (a type of /// or ). /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a trimming curve on a NURBS surface. If type is /// , then it describes a curve in two-dimensional /// (u and v) parameter space. If it is , then it /// describes a curve in two-dimensional homogeneous (u, v, and w) parameter /// space. See the reference page for more /// discussion about trimming curves. /// /// /// NOTES /// /// /// To define trim curves which stitch well, use . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCurve(GLUnurbs *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type); #endregion gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[] control, int order, int type) #region gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[ , ] control, int order, int type) /// /// Defines the shape of a NURBS curve. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in knot. The knotCount parameter equals /// the number of control points plus the order. /// /// /// An array of knotCount nondecreasing knot values. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive curve control points. /// /// /// A pointer to an array of control points. The coordinates must agree with /// type. /// /// /// The order of the NURBS curve. The order parameter equals degree + 1; /// hence a cubic curve has an order of 4. /// /// /// The type of the curve. If this curve is defined within a /// / pair, then the type /// can be any of the valid one-dimensional evaluator types (such as /// or ). /// Between a / pair, the /// only valid types are and /// . /// /// /// /// Use gluNurbsCurve to describe a NURBS curve. /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a curve to be rendered. Positional, texture, and color coordinates /// are associated by presenting each as a separate gluNurbsCurve between /// a / pair. No more than /// one call to gluNurbsCurve for each of color, position, and texture /// data can be made within a single /// / pair. Exactly one /// call must be made to describe the position of the curve (a type of /// or ). /// /// /// When gluNurbsCurve appears between a /// / pair, it is used to /// describe a trimming curve on a NURBS surface. If type is /// , then it describes a curve in two-dimensional /// (u and v) parameter space. If it is , then it /// describes a curve in two-dimensional homogeneous (u, v, and w) parameter /// space. See the reference page for more /// discussion about trimming curves. /// /// /// NOTES /// /// /// To define trim curves which stitch well, use . /// /// /// EXAMPLE /// /// /// The following commands render a textured NURBS curve with normals: /// /// /// /// Glu.gluBeginCurve(nobj); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_TEXTURE_COORD_2); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_NORMAL); /// Glu.gluNurbsCurve(nobj, ..., Gl.GL_MAP1_VERTEX_4); /// Glu.gluEndCurve(nobj); /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsCurve(GLUnurbs *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[,] control, int order, int type); #endregion gluNurbsCurve([In] GLUnurbs nurb, int knotCount, [In] float[] knots, int stride, [In] float[ , ] control, int order, int type) #region gluNurbsProperty([In] GLUnurbs nurb, int property, float val) /// /// Sets a NURBS property. /// /// /// The NURBS object (created with ). /// /// /// The property to be set. Valid values are /// , , /// , , /// , , /// , , or /// . /// /// /// The value of the indicated property. It may be a numeric value, or one of /// , , /// , , /// , , /// , , /// , or . /// /// /// /// gluNurbsProperty is used to control properties stored in a NURBS /// object. These properties affect the way that a NURBS curve is rendered. The /// accepted values for property are as follows: /// /// /// /// /// Value /// Description /// /// /// /// /// val should be set to be either /// or /// . When set to /// , NURBS objects are tessellated /// into OpenGL primitives and sent to the pipeline for rendering. /// When set to , NURBS objects /// are tessellated into OpenGL primitives but the vertices, normals, /// colors, and/or textures are retrieved back through a callback /// interface (see ). This allows the /// user to cache the tessellated results for further processing. /// The initial value is . /// /// /// /// /// /// /// Specifies how a NURBS surface should be tessellated. /// val may be one of , /// , /// , /// , or /// . When set to /// , the surface is rendered so /// that the maximum length, in pixels, of the edges of the /// tessellation polygons is no greater than what is specified by /// . /// /// /// specifies that the /// surface is rendered in such a way that the value specified by /// describes the maximum /// distance, in pixels, between the tessellation polygons and /// the surfaces they approximate. /// /// /// allows users to specify, /// in parametric coordinates, how many sample points per unit /// length are taken in u, v direction. /// /// /// is similar to /// except that it is view /// independent, that is, the surface is rendered so that the /// maximum length, in object space, of edges of the tessellation /// polygons is no greater than what is specified by /// . /// /// /// is similar to /// except that it is view /// independent, that is, the surface is rendered in such a way /// that the value specified by /// describes the maximum /// distance, in object space, between the tessellation polygons /// and the surfaces they approximate. /// /// /// The initial value of is /// . /// /// /// /// /// /// /// Specifies the maximum length, in pixels or in object space length /// unit, to use when the sampling method is set to /// or /// . The NURBS code is /// conservative when rendering a curve or surface, so the actual /// length can be somewhat shorter. The initial value is 50.0 /// pixels. /// /// /// /// /// /// Specifies the maximum distance, in pixels or in object space /// length unit, to use when the sampling method is /// or /// . The initial value is /// 0.5. /// /// /// /// /// /// Specifies the number of sample points per unit length taken along /// the u axis in parametric coordinates. It is needed when /// is set to /// . The initial value is 100. /// /// /// /// /// /// Specifies the number of sample points per unit length taken along /// the v axis in parametric coordinate. It is needed when /// is set to /// . The initial value is 100. /// /// /// /// /// /// /// val can be set to , /// , or . /// When is set to be /// , val defines how a /// NURBS surface should be rendered. When val is set to /// , the surface is rendered as a set of /// polygons. When val is set to /// , the NURBS library draws /// only the outlines of the polygons created by tessellation. /// When val is set to /// just the outlines of patches /// and trim curves defined by the user are drawn. /// /// /// When is set to be /// , val defines how /// a NURBS surface should be tessellated. When /// is set to /// or /// , the NURBS surface is /// tessellated into OpenGL triangle primitives which can be /// retrieved back through callback functions. If /// is set to /// , only the outlines of the /// patches and trim curves are generated as a sequence of /// line strips which can be retrieved back through callback /// functions. /// /// /// The initial value is . /// /// /// /// /// /// /// val is a boolean value that, when set to /// , indicates that a NURBS curve should be /// discarded prior to tessellation if its control points lie outside /// the current viewport. The initial value is /// . /// /// /// /// /// /// /// val is a boolean value. When set to /// , the NURBS code downloads the /// projection matrix, the modelview matrix, and the viewport /// from the GL server to compute sampling and culling matrices /// for each NURBS curve that is rendered. Sampling and culling /// matrices are required to determine the tessellation of a /// NURBS surface into line segments or polygons and to cull a /// NURBS surface if it lies outside the viewport. /// /// /// If this mode is set to , then the /// program needs to provide a projection matrix, a modelview /// matrix, and a viewport for the NURBS renderer to use to /// construct sampling and culling matrices. This can be done /// with the function. /// This mode is initially set to . /// Changing it from to /// does not affect the sampling and /// culling matrices until /// is called. /// /// /// /// /// /// /// NOTES /// /// /// If is true, sampling and culling may be /// executed incorrectly if NURBS routines are compiled into a display list. /// /// /// A property of , /// , , or /// , or a val of , /// , are /// only available if the GLU version is 1.1 or greater. They are not valid /// parameters in GLU 1.0. /// /// /// can be used to determine the GLU version. /// /// /// is only availble if the GLU version is 1.3 or /// greater. /// /// /// The and /// values for the /// property are only available if the GLU /// version is 1.3 or greater. /// /// /// /// /// /// /// // void APIENTRY gluNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsProperty([In] GLUnurbs nurb, int property, float val); #endregion gluNurbsProperty([In] GLUnurbs nurb, int property, float val) #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[] control, int sOrder, int tOrder, int type) /// /// Defines the shape of a NURBS surface. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in the parametric u direction. /// /// /// An array of sKnotCount nondecreasing knot values in the parametric /// u direction /// /// /// The number of knots in the parametric v direction. /// /// /// An array of tKnotCount nondecreasing knot values in the parametric /// v direction. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive control points in the parametric u direction in control. /// /// /// The offset (in single-precision floating-point values) between successive /// control points in the parametric v direction in control. /// /// /// An array containing control points for the NURBS surface. The offsets /// between successive control points in the parametric u and v directions are /// given by sStride and tStride. /// /// /// The order of the NURBS surface in the parametric u direction. The order is /// one more than the degree, hence a surface that is cubic in u has a u order of /// 4. /// /// /// The order of the NURBS surface in the parametric v direction. The order is /// one more than the degree, hence a surface that is cubic in v has a v order of /// 4. /// /// /// The type of the surface. The type parameter can be any of the valid /// two-dimensional evaluator types (such as /// or ). /// /// /// /// Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) /// surface definition to describe the shape of a NURBS surface (before any /// trimming). To mark the beginning of a NURBS surface definition, use the /// command. To mark the end of a NURBS surface /// definition, use the command. Call /// gluNurbsSurface within a NURBS surface definition only. /// /// /// Positional, texture, and color coordinates are associated with a surface by /// presenting each as a separate gluNurbsSurface between a /// / pair. No more /// than one call to gluNurbsSurface for each of color, position, and /// texture data can be made within a single /// / pair. Exactly /// one call must be made to describe the position of the surface (a type of /// or ). /// /// /// A NURBS surface can be trimmed by using the commands /// and between calls to /// and . /// /// /// Note that a gluNurbsSurface with sKnotCount knots in the u /// direction and tKnotCount knots in the v direction with orders /// sOrder and tOrder must have (sKnotCount - sOrder) /// multiplied by (tKnotCount - tOrder) control points. /// /// /// EXAMPLE /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[] control, int sOrder, int tOrder, int type); #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[] control, int sOrder, int tOrder, int type) #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[ , ] control, int sOrder, int tOrder, int type) /// /// Defines the shape of a NURBS surface. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in the parametric u direction. /// /// /// An array of sKnotCount nondecreasing knot values in the parametric /// u direction /// /// /// The number of knots in the parametric v direction. /// /// /// An array of tKnotCount nondecreasing knot values in the parametric /// v direction. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive control points in the parametric u direction in control. /// /// /// The offset (in single-precision floating-point values) between successive /// control points in the parametric v direction in control. /// /// /// An array containing control points for the NURBS surface. The offsets /// between successive control points in the parametric u and v directions are /// given by sStride and tStride. /// /// /// The order of the NURBS surface in the parametric u direction. The order is /// one more than the degree, hence a surface that is cubic in u has a u order of /// 4. /// /// /// The order of the NURBS surface in the parametric v direction. The order is /// one more than the degree, hence a surface that is cubic in v has a v order of /// 4. /// /// /// The type of the surface. The type parameter can be any of the valid /// two-dimensional evaluator types (such as /// or ). /// /// /// /// Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) /// surface definition to describe the shape of a NURBS surface (before any /// trimming). To mark the beginning of a NURBS surface definition, use the /// command. To mark the end of a NURBS surface /// definition, use the command. Call /// gluNurbsSurface within a NURBS surface definition only. /// /// /// Positional, texture, and color coordinates are associated with a surface by /// presenting each as a separate gluNurbsSurface between a /// / pair. No more /// than one call to gluNurbsSurface for each of color, position, and /// texture data can be made within a single /// / pair. Exactly /// one call must be made to describe the position of the surface (a type of /// or ). /// /// /// A NURBS surface can be trimmed by using the commands /// and between calls to /// and . /// /// /// Note that a gluNurbsSurface with sKnotCount knots in the u /// direction and tKnotCount knots in the v direction with orders /// sOrder and tOrder must have (sKnotCount - sOrder) /// multiplied by (tKnotCount - tOrder) control points. /// /// /// EXAMPLE /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[,] control, int sOrder, int tOrder, int type); #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[ , ] control, int sOrder, int tOrder, int type) #region gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, [In] float[ , , ] control, int sOrder, int tOrder, int type) /// /// Defines the shape of a NURBS surface. /// /// /// The NURBS object (created with ). /// /// /// The number of knots in the parametric u direction. /// /// /// An array of sKnotCount nondecreasing knot values in the parametric /// u direction /// /// /// The number of knots in the parametric v direction. /// /// /// An array of tKnotCount nondecreasing knot values in the parametric /// v direction. /// /// /// The offset (as a number of single-precision floating-point values) between /// successive control points in the parametric u direction in control. /// /// /// The offset (in single-precision floating-point values) between successive /// control points in the parametric v direction in control. /// /// /// An array containing control points for the NURBS surface. The offsets /// between successive control points in the parametric u and v directions are /// given by sStride and tStride. /// /// /// The order of the NURBS surface in the parametric u direction. The order is /// one more than the degree, hence a surface that is cubic in u has a u order of /// 4. /// /// /// The order of the NURBS surface in the parametric v direction. The order is /// one more than the degree, hence a surface that is cubic in v has a v order of /// 4. /// /// /// The type of the surface. The type parameter can be any of the valid /// two-dimensional evaluator types (such as /// or ). /// /// /// /// Use gluNurbsSurface within a NURBS (Non-Uniform Rational B-Spline) /// surface definition to describe the shape of a NURBS surface (before any /// trimming). To mark the beginning of a NURBS surface definition, use the /// command. To mark the end of a NURBS surface /// definition, use the command. Call /// gluNurbsSurface within a NURBS surface definition only. /// /// /// Positional, texture, and color coordinates are associated with a surface by /// presenting each as a separate gluNurbsSurface between a /// / pair. No more /// than one call to gluNurbsSurface for each of color, position, and /// texture data can be made within a single /// / pair. Exactly /// one call must be made to describe the position of the surface (a type of /// or ). /// /// /// A NURBS surface can be trimmed by using the commands /// and between calls to /// and . /// /// /// Note that a gluNurbsSurface with sKnotCount knots in the u /// direction and tKnotCount knots in the v direction with orders /// sOrder and tOrder must have (sKnotCount - sOrder) /// multiplied by (tKnotCount - tOrder) control points. /// /// /// EXAMPLE /// /// /// /// Glu.gluBeginSurface(nobj); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_TEXTURE_COORD_2); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_NORMAL); /// Glu.gluNurbsSurface(nobj, . . ., Gl.GL_MAP2_VERTEX_4); /// Glu.gluEndSurface(nobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluNurbsSurface(GLUnurbs *nobj, GLint sknot_count, float *sknot, GLint tknot_count, GLfloat *tknot, GLint s_stride, GLint t_stride, GLfloat *ctlarray, GLint sorder, GLint torder, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[, ,] control, int sOrder, int tOrder, int type); #endregion gluNurbsSurface([In] GLUnurbs nurb, int sKnotCount, [In] float[] sKnots, int tKnotCount, [In] float[] tKnots, int sStride, int tStride, float[ , , ] control, int sOrder, int tOrder, int type) #region gluOrtho2D(double left, double right, double bottom, double top) /// /// Defines a 2D orthographic projection matrix. /// /// /// The coordinates for the leftvertical clipping planes. /// /// /// The coordinates for the right vertical clipping planes. /// /// /// The coordinates for the bottom horizontal clipping planes. /// /// /// The coordinates for the top horizontal clipping planes. /// /// /// The gluOrtho2D function sets up a two-dimensional orthographic viewing /// region. This is equivalent to calling with /// near = –1 and far = 1. /// /// /// // void APIENTRY gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluOrtho2D(double left, double right, double bottom, double top); #endregion gluOrtho2D(double left, double right, double bottom, double top) #region gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle) /// /// Draws an arc of a disk. /// /// /// A quadric object (created with ). /// /// /// The inner radius of the partial disk (can be zero). /// /// /// The outer radius of the partial disk. /// /// /// The number of subdivisions around the z-axis. /// /// /// The number of concentric rings about the origin into which the partial disk /// is subdivided. /// /// /// The starting angle, in degrees, of the disk portion. /// /// /// The sweep angle, in degrees, of the disk portion. /// /// /// /// gluPartialDisk renders a partial disk on the z = 0 plane. A partial /// disk is similar to a full disk, except that only the subset of the disk from /// startAngle through startAngle + sweepAngle is included /// (where 0 degrees is along the +y axis, 90 degrees along the +x axis, 180 /// degrees along the -y axis, and 270 degrees along the -x axis). /// /// /// The partial disk has a radius of outerRadius, and contains a /// concentric circular hole with a radius of innerRadius. If /// innerRadius is 0, then no hole is generated. The partial disk is /// subdivided around the z axis into slices (like pizza slices), and also about /// the z axis into rings (as specified by slices and loops, /// respectively). /// /// /// With respect to orientation, the +z side of the partial disk is considered /// to be outside (see ). This means that if /// the orientation is set to , then any normals /// generated point along the +z axis. Otherwise, they point along the -z axis. /// /// /// If texturing is turned on (with ), texture /// coordinates are generated linearly such that where r = outerRadius, /// the value at (r, 0, 0) is (1.0, 0.5), at (0, r, 0) it is (0.5, 1.0), at /// (-r, 0, 0) it is (0.0, 0.5), and at (0, -r, 0) it is (0.5, 0.0). /// /// /// /// /// /// /// /// // void APIENTRY gluPartialDisk(GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle); #endregion gluPartialDisk([In] GLUquadric quad, double innerRadius, double outerRadius, int slices, int loops, double startAngle, double sweepAngle) #region gluPerspective(double fovY, double aspectRatio, double zNear, double zFar) /// /// Sets up a perspective projection matrix. /// /// /// The field of view angle, in degrees, in the y-direction. /// /// /// The aspect ratio that determines the field of view in the x-direction. The /// aspect ratio is the ratio of x (width) to y (height). /// /// /// The distance from the viewer to the near clipping plane (always positive). /// /// /// The distance from the viewer to the far clipping plane (always positive). /// /// /// /// The gluPerspective subroutine specifies a viewing frustum into the /// world coordinate system. Generally, the aspect ratio used with this /// subroutine should match that of its associated viewport. For example, an /// aspect ratio value of aspect = 2.0 means the viewer's angle of view is twice /// as wide in x as it is in y. If the viewport is twice as wide as it is tall, /// it displays the image without distortion. /// /// /// The matrix generated by gluPerspective is multipled by the current /// matrix, just as if Gl.glMultMatrix* were called with the generated matrix. /// To load the perspective matrix onto the current matrix stack instead, /// precede the call to gluPerspective with a call to /// . /// /// /// Given f defined as follows: /// /// /// f = cotangent(fovY / 2) /// /// /// The generated matrix is: /// /// /// /// ( f ) /// | ------ 0 0 0 | /// | aspectRatio | /// | | /// | | /// | 0 f 0 0 | /// | | /// | | /// | zFar+zNear 2*zFar*zNear | /// | 0 0 ---------- ------------ | /// | zNear-zFar zNear-zFar | /// | | /// | | /// | 0 0 -1 0 | /// ( ) /// /// /// /// NOTES /// /// /// Depth buffer precision is affected by the values specified for zNear /// and zFar. The greater the ratio of zFar to zNear is, /// the less effective the depth buffer will be at distinguishing between /// surfaces that are near each other. If r = zFar / zNear roughly /// log2(r) bits of depth buffer precision are lost. Because r approaches /// infinity as zNear approaches 0, zNear must never be set to 0. /// /// /// /// /// // void APIENTRY gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPerspective(double fovY, double aspectRatio, double zNear, double zFar); #endregion gluPerspective(double fovY, double aspectRatio, double zNear, double zFar) #region gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport) /// /// Defines a picking region. /// /// /// The center of a picking region in x axis window coordinates. /// /// /// The center of a picking region in y axis window coordinates. /// /// /// The width of the picking region in window coordinates. /// /// /// The height of the picking region in window coordinates. /// /// /// The current viewport (as from a call). /// /// /// /// gluPickMatrix creates a projection matrix that can be used to restrict /// drawing to a small region of the viewport. This is typically useful to /// determine what objects are being drawn near the cursor. Use /// gluPickMatrix to restrict drawing to a small region around the cursor. /// Then, enter selection mode (with ) and rerender /// the scene. All primitives that would have been drawn near the cursor are /// identified and stored in the selection buffer. /// /// /// The matrix created by gluPickMatrix is multiplied by the current /// matrix just as if Gl.glMultMatrix* is called with the generated matrix. /// To effectively use the generated pick matrix for picking, first call /// to load an identity matrix onto the /// perspective matrix stack. Then call gluPickMatrix, and finally, call /// a command (such as ) to multiply the perspective /// matrix by the pick matrix. /// /// /// When using gluPickMatrix to pick NURBS, be careful to turn off the /// NURBS property . If /// is not turned off, then any NURBS /// surface rendered is subdivided differently with the pick matrix than the way /// it was subdivided without the pick matrix. /// /// /// EXAMPLE /// /// /// When rendering a scene as follows: /// /// /// /// Gl.glMatrixMode(Gl.GL_PROJECTION); /// Gl.glLoadIdentity(); /// Glu.gluPerspective(. . .); /// Gl.glMatrixMode(Gl.GL_MODELVIEW); /// // Draw the scene /// /// /// /// The following code selects a portion of the viewport: /// /// /// /// Gl.glMatrixMode(Gl.GL_PROJECTION); /// Gl.glLoadIdentity(); /// Glu.gluPickMatrix(x, y, width, height, viewport); /// Glu.gluPerspective(. . .); /// Gl.glMatrixMode(Gl.GL_MODELVIEW); /// // Draw the scene /// /// /// /// /// /// // void APIENTRY gluPickMatrix(GLdouble x, GLdouble y, GLdouble width, GLdouble height, GLint viewport[4]); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport); #endregion gluPickMatrix(double x, double y, double width, double height, [In] int[] viewport) #region int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ) /// /// Maps object coordinates to window coordinates. /// /// /// The object's x axis coordinate. /// /// /// The object's y axis coordinate. /// /// /// The object's z axis coordinate. /// /// /// The current modelview matrix (as from a call). /// /// /// The current projection matrix (as from a /// call). /// /// /// The current viewport (as from a call). /// /// /// The computed window's x axis coordinate. /// /// /// The computed window's y axis coordinate. /// /// /// The computed window's z axis coordinate. /// /// /// Returns indicates success, a return value of /// indicates failure. /// /// /// /// gluProject transforms the specified object coordinates into window /// coordinates using modelMatrix, projectionMatrix, and /// viewport. The result is stored in winX, winY, and /// winZ. A return value of indicates success, /// a return value of indicates failure. /// /// /// To compute the coordinates, let v = (objX, objY, objZ, 1.0) /// represented as a matrix with 4 rows and 1 column. Then gluProject /// computes v' as follows: /// /// /// v' = P x M x v /// /// /// Where P is the current projection matrix projectionMatrix, M is the /// current modelview matrix modelMatrix (both represented as 4x4 matrices /// in column-major order) and 'x' represents matrix multiplication. /// /// /// The window coordinates are then computed as follows: /// /// /// /// winX = view(0) + view(2) * (v'(0) + 1) / 2 /// winY = view(1) + view(3) * (v'(1) + 1) / 2 /// winZ = (v'(2) + 1) / 2 /// /// /// /// /// /// // int APIENTRY gluProject(GLdouble objx, GLdouble objy, GLdouble objz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *winx, GLdouble *winy, GLdouble *winz); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ); #endregion int gluProject(double objX, double objY, double objZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double winX, out double winY, out double winZ) #region gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type) /// /// Describes a piecewise linear NURBS trimming curve. /// /// /// The NURBS object (created with ). /// /// /// The number of points on the curve. /// /// /// An array containing the curve points. /// /// /// The offset (a number of single-precision floating-point values) between /// points on the curve. /// /// /// The type of curve. Must be either or /// . /// /// /// /// gluPwlCurve describes a piecewise linear trimming curve for a NURBS /// surface. A piecewise linear curve consists of a list of coordinates of /// points in the parameter space for the NURBS surface to be trimmed. These /// points are connected with line segments to form a curve. If the curve is an /// approximation to a curve that is not piecewise linear, the points should be /// close enough in parameter space that the resulting path appears curved at the /// resolution used in the application. /// /// /// If type is , then it describes a curve in /// two-dimensional (u and v) parameter space. If it is /// , then it describes a curve in two-dimensional /// homogeneous (u, v, and w) parameter space. See the /// reference page for more information about /// trimming curves. /// /// /// NOTES /// /// /// To describe a trim curve that closely follows the contours of a NURBS /// surface, call . /// /// /// /// /// /// // void APIENTRY gluPwlCurve(GLUnurbs *nobj, GLint count, GLfloat *array, GLint stride, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type); #endregion gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[] data, int stride, int type) #region gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[ , ] data, int stride, int type) /// /// Describes a piecewise linear NURBS trimming curve. /// /// /// The NURBS object (created with ). /// /// /// The number of points on the curve. /// /// /// An array containing the curve points. /// /// /// The offset (a number of single-precision floating-point values) between /// points on the curve. /// /// /// The type of curve. Must be either or /// . /// /// /// /// gluPwlCurve describes a piecewise linear trimming curve for a NURBS /// surface. A piecewise linear curve consists of a list of coordinates of /// points in the parameter space for the NURBS surface to be trimmed. These /// points are connected with line segments to form a curve. If the curve is an /// approximation to a curve that is not piecewise linear, the points should be /// close enough in parameter space that the resulting path appears curved at the /// resolution used in the application. /// /// /// If type is , then it describes a curve in /// two-dimensional (u and v) parameter space. If it is /// , then it describes a curve in two-dimensional /// homogeneous (u, v, and w) parameter space. See the /// reference page for more information about /// trimming curves. /// /// /// NOTES /// /// /// To describe a trim curve that closely follows the contours of a NURBS /// surface, call . /// /// /// /// /// /// // void APIENTRY gluPwlCurve(GLUnurbs *nobj, GLint count, GLfloat *array, GLint stride, GLenum type); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[,] data, int stride, int type); #endregion gluPwlCurve([In] GLUnurbs nurb, int count, [In] float[ , ] data, int stride, int type) #region gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) /// /// Defines a callback for a quadric object. /// /// /// The quadric object (created with ). /// /// /// The callback being defined. The only valid value is /// . /// /// /// The function to be called. /// /// /// /// gluQuadricCallback is used to define a new callback to be used by a /// quadrics object. If the specified callback is already defined, then it is /// replaced. If func is null, then any existing callback is /// erased. /// /// /// The one legal callback is : /// /// /// /// /// Value /// Description /// /// /// /// /// The function is called when an error is encountered. Its single /// argument is of type , and it indicates the /// specific error that occurred. Character strings describing these /// errors can be retrieved with the /// call. /// /// /// /// /// /// /// /// // void APIENTRY gluQuadricCallback(GLUquadric *qobj, GLenum which, void (CALLBACK* fn)()); public static void gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) { quadricErrorCallback = func; __gluQuadricCallback(quad, which, quadricErrorCallback); } #endregion gluQuadricCallback([In] GLUquadric quad, int which, [In] QuadricErrorCallback func) #region gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle) /// /// Specifies the draw style desired for quadrics. /// /// /// The quadric object (created with ). /// /// /// /// The desired draw style. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// Quadrics are rendered with polygon primitives. The polygons are /// drawn in a counterclockwise fashion with respect to their normals /// (as defined with ). /// /// /// /// /// /// Quadrics are rendered as a set of lines. /// /// /// /// /// /// Quadrics are rendered as a set of lines, except that edges /// separating coplanar faces will not be drawn. /// /// /// /// /// /// Quadrics are rendered as a set of points. /// /// /// /// /// /// /// gluQuadricDrawStyle specifies the draw style for quadrics rendered /// with quad. /// /// /// /// /// // void APIENTRY gluQuadricDrawStyle(GLUquadric *quadObject, GLenum drawStyle); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle); #endregion gluQuadricDrawStyle([In] GLUquadric quad, int drawStyle) #region gluQuadricNormals([In] GLUquadric quad, int normal) /// /// Specifies what kind of normals are to be used for quadrics. /// /// /// The quadric object (created with ). /// /// /// /// The desired type of normals. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// No normals are generated. /// /// /// /// /// /// One normal is generated for every facet of a quadric. /// /// /// /// /// /// One normal is generated for every vertex of a quadric. This is /// the default value. /// /// /// /// /// /// /// gluQuadricNormals specifies what kind of normals are desired for /// quadrics rendered with quad. /// /// /// /// /// // void APIENTRY gluQuadricNormals(GLUquadric *quadObject, GLenum normals); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricNormals([In] GLUquadric quad, int normal); #endregion gluQuadricNormals([In] GLUquadric quad, int normal) #region gluQuadricOrientation([In] GLUquadric quad, int orientation) /// /// Specifies inside or outside orientation for quadrics. /// /// /// The quadric object (created with ). /// /// /// /// The desired orientation. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// Draw quadrics with normals pointing outward. This is the default /// value. /// /// /// /// /// /// Draw quadrics with normals pointing inward. /// /// /// /// /// /// /// /// gluQuadricOrientation specifies what kind of orientation is desired /// for quadrics rendered with quad. /// /// /// The interpretation of outward and inward depends on the quadric being drawn. /// /// /// /// /// /// // void APIENTRY gluQuadricOrientation(GLUquadric *quadObject, GLenum orientation); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricOrientation([In] GLUquadric quad, int orientation); #endregion gluQuadricOrientation([In] GLUquadric quad, int orientation) #region gluQuadricTexture([In] GLUquadric quad, int texture) /// /// Specifies whether quadrics are to be textured. /// /// /// The quadric object (created with ). /// /// /// /// A flag indicating whether texture coordinates are to be generated. The /// following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// Generate texture coordinates. /// /// /// /// /// /// Do not generate texture coordinates. This is the default value. /// /// /// /// /// /// /// /// gluQuadricTexture specifies if texture coordinates should be generated /// for quadrics rendered with quad. /// /// /// The manner in which texture coordinates are generated depends upon the /// specific quadric rendered. /// /// /// /// /// /// // void APIENTRY gluQuadricTexture(GLUquadric *quadObject, GLboolean textureCoords); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluQuadricTexture([In] GLUquadric quad, int texture); #endregion gluQuadricTexture([In] GLUquadric quad, int texture) #region int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut) /// /// Scales an image to an arbitrary size. /// /// /// The format of the pixel data. The following symbolic values are valid: /// , , /// , , /// , , /// , , /// , , /// , , and /// . /// /// /// The width of the source image that is scaled. /// /// /// The height of the source image that is scaled. /// /// /// The data type for dataIn. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// . /// /// /// A pointer to the source image. /// /// /// The width of the destination image. /// /// /// The height of the destination image. /// /// /// The data type for dataOut. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// A pointer to the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluScaleImage scales a pixel image using the appropriate pixel store /// modes to unpack data from the source image and pack data into the /// destination image. /// /// /// When shrinking an image, gluScaleImage uses a box filter to sample the /// source image and create pixels for the destination image. When magnifying an /// image, the pixels from the source image are linearly interpolated to create /// the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// See the reference page for a description of /// the acceptable values for the format, typeIn, and /// typeOut parameters. /// /// /// NOTES /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if widthIn, /// heightIn, widthOut, or heightOut is negative. /// /// /// is returned if format, typeIn, /// or typeOut is not legal. /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// /// /// /// /// /// // int APIENTRY gluScaleImage(GLenum format, GLint widthin, GLint heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut); #endregion int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] IntPtr dataIn, int widthOut, int heightOut, int typeOut, [Out] IntPtr dataOut) #region int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut) /// /// Scales an image to an arbitrary size. /// /// /// The format of the pixel data. The following symbolic values are valid: /// , , /// , , /// , , /// , , /// , , /// , , and /// . /// /// /// The width of the source image that is scaled. /// /// /// The height of the source image that is scaled. /// /// /// The data type for dataIn. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// . /// /// /// A pointer to the source image. /// /// /// The width of the destination image. /// /// /// The height of the destination image. /// /// /// The data type for dataOut. Must be one of /// , , /// , , /// , , /// , , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , or /// . /// /// /// A pointer to the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// /// gluScaleImage scales a pixel image using the appropriate pixel store /// modes to unpack data from the source image and pack data into the /// destination image. /// /// /// When shrinking an image, gluScaleImage uses a box filter to sample the /// source image and create pixels for the destination image. When magnifying an /// image, the pixels from the source image are linearly interpolated to create /// the destination image. /// /// /// A return value of zero indicates success, otherwise a GLU error code is /// returned (see ). /// /// /// See the reference page for a description of /// the acceptable values for the format, typeIn, and /// typeOut parameters. /// /// /// NOTES /// /// /// Formats , and , and types /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , /// , and /// are only available if the GL /// version is 1.2 or greater. /// /// /// ERRORS /// /// /// is returned if widthIn, /// heightIn, widthOut, or heightOut is negative. /// /// /// is returned if format, typeIn, /// or typeOut is not legal. /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is not /// . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// is returned if typeIn or /// typeOut is or /// and format is neither /// nor . /// /// /// /// /// /// /// /// // int APIENTRY gluScaleImage(GLenum format, GLint widthin, GLint heightin, GLenum typein, const void *datain, GLint widthout, GLint heightout, GLenum typeout, void *dataout); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut); #endregion int gluScaleImage(int format, int widthIn, int heightIn, int typeIn, [In] byte[] dataIn, int widthOut, int heightOut, int typeOut, [Out] byte[] dataOut) #region gluSphere([In] GLUquadric quad, double radius, int slices, int stacks) /// /// Draws a sphere. /// /// /// The quadric object (created with ). /// /// /// The radius of the sphere. /// /// /// The number of subdivisions around the z-axis (similar to lines of longitude. /// /// /// The number of subdivisions along the z-axis (similar to lines of latitude). /// /// /// /// gluSphere draws a sphere of the given radius centered around the /// origin. The sphere is subdivided around the z axis into slices and along the /// z axis into stacks (similar to lines of longitude and latitude). /// /// /// If the orientation is set to (with /// ), then any normals generated point away /// from the center of the sphere. Otherwise, they point toward the center of /// the sphere. /// /// /// If texturing is turned on (with ), then /// texture coordinates are generated so that t ranges from 0.0 at z = -radius /// to 1.0 at z = radius (t increases linearly along longitudinal lines), and /// s ranges from 0.0 at the +y axis, to 0.25 at the +x axis, to 0.5 at the -y /// axis, to 0.75 at the -x axis, and back to 1.0 at the +y axis. /// /// /// /// /// /// /// /// // void APIENTRY gluSphere(GLUquadric *qobj, GLdouble radius, GLint slices, GLint stacks); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluSphere([In] GLUquadric quad, double radius, int slices, int stacks); #endregion gluSphere([In] GLUquadric quad, double radius, int slices, int stacks) #region gluTessBeginContour([In] GLUtesselator tess) /// /// Delimits a contour description. /// /// /// The tessellation object (created with ). /// /// /// gluTessBeginContour and delimit the /// definition of a polygon contour. Within each /// gluTessBeginContour/ pair, there can /// be zero or more calls to . The vertices specify /// a closed contour (the last vertex of each contour is automatically linked to /// the first). See the reference page for more /// details. gluTessBeginContour can only be called between /// and . /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginContour(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginContour([In] GLUtesselator tess); #endregion gluTessBeginContour([In] GLUtesselator tess) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] byte[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] double[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] double[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] short[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] short[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] int[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] int[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] float[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] float[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] ushort[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , , ] data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[, ,] data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] uint[ , , ] data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] IntPtr data) #region gluTessBeginPolygon([In] GLUtesselator tess, [In] void *data) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// A pointer to a programmer defined–polygon data structure. /// /// /// /// gluTessBeginPolygon and delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// gluTessBeginPolygon/ pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// data is a pointer to a user-defined data structure. If the /// appropriate callback(s) are specified (see ), /// then this pointer is returned to the callback function(s). Thus, it is a /// convenient way to store per-polygon information. /// /// /// Once is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessBeginPolygon(GLUtesselator *tess, void *polygon_data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluTessBeginPolygon([In] GLUtesselator tess, [In] void* data); #endregion gluTessBeginPolygon([In] GLUtesselator tess, [In] void *data) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) { tessBeginCallback = func; __gluTessCallback(tess, which, tessBeginCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) { tessBeginDataCallback = func; __gluTessCallback(tess, which, tessBeginDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessBeginDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) { tessCombineCallback = func; __gluTessCallback(tess, which, tessCombineCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) { tessCombineCallback1 = func; __gluTessCallback(tess, which, tessCombineCallback1); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineCallback1 func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) { tessCombineDataCallback = func; __gluTessCallback(tess, which, tessCombineDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessCombineDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) { tessEdgeFlagCallback = func; __gluTessCallback(tess, which, tessEdgeFlagCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) { tessEdgeFlagDataCallback = func; __gluTessCallback(tess, which, tessEdgeFlagDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEdgeFlagDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) { tessEndCallback = func; __gluTessCallback(tess, which, tessEndCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) { tessEndDataCallback = func; __gluTessCallback(tess, which, tessEndDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessEndDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) { tessErrorCallback = func; __gluTessCallback(tess, which, tessErrorCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) { tessErrorDataCallback = func; __gluTessCallback(tess, which, tessErrorDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessErrorDataCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) { tessVertexCallback = func; __gluTessCallback(tess, which, tessVertexCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) { tessVertexCallback1 = func; __gluTessCallback(tess, which, tessVertexCallback1); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexCallback1 func) #region gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) /// /// Defines a callback for a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The callback being defined. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// The begin callback is invoked like to /// indicate the start of a (triangle) primitive. The function takes /// a single argument of type . If the /// property is set to /// , then the argument is set to either /// , /// , or /// . If the /// property is set to /// , then the argument will be set to /// . The delegate prototype for this /// callback is . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The combine callback is called to create a new vertex when /// the tessellation detects an intersection, or wishes to merge /// features. The function takes four arguments: an array of /// three elements each of type , an /// array of four pointers, an array of four elements each of /// type , and a pointer to a pointer. The /// delegate prototype for this callback is /// . /// /// /// The vertex is defined as a linear combination of up to four /// existing vertices, stored in vertexData. The /// coefficients of the linear combination are given by /// weight; these weights always add up to 1. All /// vertex pointers are valid even when some of the weights are /// 0. coordinates gives the location of the new vertex. /// /// /// The user must allocate another vertex, interpolate parameters /// using vertexData and weight, and return the new /// vertex pointer in outData. This handle is supplied /// during rendering callbacks. The user is responsible for /// freeing the memory some time after /// is called. /// /// /// For example, if the polygon lies in an arbitrary plane in /// 3-space, and a color is associated with each vertex, the /// GLU_TESS_COMBINE callback might look like this: /// /// /// /// void myCombine(GLdouble coords[3], VERTEX *d[4], GLfloat w[4], VERTEX **dataOut) { /// VERTEX *newVertex = new_vertex(); /// newVertex->x = coords[0]; /// newVertex->y = coords[1]; /// newVertex->z = coords[2]; /// newVertex->r = w[0]*d[0]->r + w[1]*d[1]->r + w[2]*d[2]->r + /// w[3]*d[3]->r; /// newVertex->g = w[0]*d[0]->g + w[1]*d[1]->g + w[2]*d[2]->g + /// w[3]*d[3]->g; /// newVertex->b = w[0]*d[0]->b + w[1]*d[1]->b + w[2]*d[2]->b + /// w[3]*d[3]->b; /// newVertex->a = w[0]*d[0]->a + w[1]*d[1]->a + w[2]*d[2]->a + /// w[3]*d[3]->a; /// *dataOut = newVertex; /// } /// /// /// /// If the tessellation detects an intersection, then the /// GLU_TESS_COMBINE or /// callback (see below) /// must be defined, and it must write a non-NULL pointer into /// outData. Otherwise the /// error occurs, /// and no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The edge flag callback is similar to /// . The function takes a single /// boolean flag that indicates which edges lie on the polygon /// boundary. If the flag is , then /// each vertex that follows begins an edge that lies on the /// polygon boundary, that is, an edge that separates an interior /// region from an exterior one. If the flag is /// , then each vertex that follows /// begins an edge that lies in the polygon interior. The edge /// flag callback (if defined) is invoked before the first /// vertex callback. /// /// /// Since triangle fans and triangle strips do not support edge /// flags, the begin callback is not called with /// or /// if a non-NULL edge flag /// callback is provided. (If the callback is initialized to /// null, there is no impact on performance). Instead, /// the fans and strips are converted to independent triangles. /// The delegate prototype for this callback is /// . /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The end callback serves the same purpose as /// . It indicates the end of a primitive and /// it takes no arguments. The delegate prototype for this callback /// is . /// /// /// /// /// /// The same as the callback except that /// it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The error callback is called when an error is encountered. /// The one argument is of type ; it /// indicates the specific error that occurred and will be set to /// one of , /// , /// , /// , /// , /// or /// . Character strings /// describing these errors can be retrieved with the /// call. The delegate prototype /// for this callback is . /// /// /// The GLU library will recover from the first four errors by /// inserting the missing call(s). /// indicates that some /// vertex coordinate exceeded the predefined constant /// in absolute value, and that /// the value has been clamped. (Coordinate values must be small /// enough so that two can be multiplied together without /// overflow.) /// indicates that the tessellation detected an intersection /// between two edges in the input data, and the /// or /// callback was not /// provided. No output is generated. /// indicates that there is not /// enough memory so no output is generated. /// /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// The vertex callback is invoked between the begin and end /// callbacks. It is similar to Gl.glVertex*, and it defines the /// vertices of the triangles created by the tessellation process. /// The function takes a pointer as its only argument. This pointer /// is identical to the opaque pointer provided by the user when the /// vertex was described (see ). The /// delegate prototype for this callback is /// . /// /// /// /// /// /// The same as the callback except /// that it takes an additional pointer argument. This pointer is /// identical to the opaque pointer provided when /// was called. The delegate /// prototype for this callback is /// . /// /// /// /// /// /// /// The function to be called. /// /// /// /// gluTessCallback is used to indicate a callback to be used by a /// tessellation object. If the specified callback is already defined, then it /// is replaced. If func is null, then the existing callback /// becomes undefined. /// /// /// These callbacks are used by the tessellation object to describe how a polygon /// specified by the user is broken into triangles. Note that there are two /// versions of each callback: one with user-specified polygon data and one /// without. If both versions of a particular callback are specified, then the /// callback with user-specified polygon data will be used. Note that the /// polygonData parameter used by some of the functions is a copy of the /// pointer that was specified when was /// called. /// /// /// EXAMPLE /// /// /// You can directly render tessallated polygons as follows: /// /// /// /// Glu.gluTessCallback(tess, Glu.GLU_TESS_BEGIN, new Glu.TessBeginCallback(Gl.glBegin)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_VERTEX, new Glu.TessVertexCallback(Gl.glVertex3dv)); /// Glu.gluTessCallback(tess, Glu.GLU_TESS_END, new Glu.TessEndCallback(Gl.glEnd)); /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v, v); /// . . . /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessCallback(GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); public static void gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) { tessVertexDataCallback = func; __gluTessCallback(tess, which, tessVertexDataCallback); } #endregion gluTessCallback([In] GLUtesselator tess, int which, [In] TessVertexDataCallback func) #region gluTessEndContour([In] GLUtesselator tess) /// /// Delimits a contour description. /// /// /// The tessellation object (created with ). /// /// /// and gluTessEndContour delimit the /// definition of a polygon contour. Within each /// /gluTessEndContour pair, there can /// be zero or more calls to . The vertices specify /// a closed contour (the last vertex of each contour is automatically linked to /// the first). See the reference page for more /// details. can only be called between /// and . /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessEndContour(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessEndContour([In] GLUtesselator tess); #endregion gluTessEndContour([In] GLUtesselator tess) #region gluTessEndPolygon([In] GLUtesselator tess) /// /// Delimits a polygon description. /// /// /// The tessellation object (created with ). /// /// /// /// and gluTessEndPolygon delimit the /// definition of a convex, concave or self-intersecting polygon. Within each /// /gluTessEndPolygon pair, there must /// be one or more calls to /// /. Within /// each contour, there are zero or more calls to . /// The vertices specify a closed contour (the last vertex of each contour is /// automatically linked to the first). See the , /// , and /// reference pages for more details. /// /// /// Once gluTessEndPolygon is called, the polygon is tessellated, /// and the resulting triangles are described through callbacks. See /// for descriptions of the callback functions. /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tobj, null); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v1, v1); /// Glu.gluTessVertex(tobj, v2, v2); /// Glu.gluTessVertex(tobj, v3, v3); /// Glu.gluTessVertex(tobj, v4, v4); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessBeginContour(tobj); /// Glu.gluTessVertex(tobj, v5, v5); /// Glu.gluTessVertex(tobj, v6, v6); /// Glu.gluTessVertex(tobj, v7, v7); /// Glu.gluTessEndContour(tobj); /// Glu.gluTessEndPolygon(tobj); /// /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessEndPolygon(GLUtesselator *tess); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessEndPolygon([In] GLUtesselator tess); #endregion gluTessEndPolygon([In] GLUtesselator tess) #region gluTessNormal([In] GLUtesselator tess, double x, double y, double z) /// /// Specifies a normal for a polygon. /// /// /// The tessellation object (created with ). /// /// /// The x-coordinate component of a normal. /// /// /// The y-coordinate component of a normal. /// /// /// The z-coordinate component of a normal. /// /// /// /// gluTessNormal describes a normal for a polygon that the program is /// defining. All input data will be projected onto a plane perpendicular to one /// of the three coordinate axes before tessellation and all output triangles /// will be oriented CCW with respect to the normal (CW orientation can be /// obtained by reversing the sign of the supplied normal). For example, if you /// know that all polygons lie in the x-y plane, call /// Glu.gluTessNormal(tess, 0.0, 0.0, 1.0) before rendering any polygons. /// /// /// If the supplied normal is (0.0, 0.0, 0.0) (the initial value), the normal is /// determined as follows. The direction of the normal, up to its sign, is found /// by fitting a plane to the vertices, without regard to how the vertices are /// connected. It is expected that the input data lies approximately in the /// plane; otherwise, projection perpendicular to one of the three coordinate /// axes may substantially change the geometry. The sign of the normal is chosen /// so that the sum of the signed areas of all input contours is nonnegative /// (where a CCW contour has positive area). /// /// /// The supplied normal persists until it is changed by another call to /// gluTessNormal. /// /// /// /// /// // void APIENTRY gluTessNormal(GLUtesselator *tess, GLdouble x, GLdouble y, GLdouble z); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessNormal([In] GLUtesselator tess, double x, double y, double z); #endregion gluTessNormal([In] GLUtesselator tess, double x, double y, double z) #region gluTessProperty([In] GLUtesselator tess, int which, double data) /// /// Sets the property of a tessellation object. /// /// /// The tessellation object (created with ). /// /// /// /// The property value to set. The following values are valid: /// /// /// /// /// Value /// Description /// /// /// /// /// /// Determines which parts of the polygon are on the "interior". /// data may be set to one of /// , /// , /// , or /// , or /// . /// /// /// To understand how the winding rule works, consider that the /// input contours partition the plane into regions. The winding /// rule determines which of these regions are inside the /// polygon. /// /// /// For a single contour C, the winding number of a point x is /// simply the signed number of revolutions we make around x as /// we travel once around C (where CCW is positive). When there /// are several contours, the individual winding numbers are /// summed. This procedure associates a signed integer value /// with each point x in the plane. Note that the winding number /// is the same for all points in a single region. /// /// /// The winding rule classifies a region as "inside" if its /// winding number belongs to the chosen category (odd, nonzero, /// positive, negative, or absolute value of at least two). The /// previous GLU tessellator (prior to GLU 1.2) used the "odd" /// rule. The "nonzero" rule is another common way to define the /// interior. The other three rules are useful for polygon CSG /// operations. /// /// /// /// /// /// /// Is a boolean value ("value" should be set to /// or ). When /// set to , a set of closed contours /// separating the polygon interior and exterior are returned instead /// of a tessellation. Exterior contours are oriented CCW with /// respect to the normal; interior contours are oriented CW. The /// and /// callbacks use the type /// for each contour. /// /// /// /// /// /// /// Specifies a tolerance for merging features to reduce the size /// of the output. For example, two vertices that are very close /// to each other might be replaced by a single vertex. The /// tolerance is multiplied by the largest coordinate magnitude /// of any input vertex; this specifies the maximum distance that /// any feature can move as the result of a single merge /// operation. If a single feature takes part in several merge /// operations, the total distance moved could be larger. /// /// /// Feature merging is completely optional; the tolerance is only /// a hint. The implementation is free to merge in some cases /// and not in others, or to never merge features at all. The /// initial tolerance is 0. /// /// /// The current implementation merges vertices only if they are /// exactly coincident, regardless of the current tolerance. A /// vertex is spliced into an edge only if the implementation is /// unable to distinguish which side of the edge the vertex lies /// on. Two edges are merged only when both endpoints are /// identical. /// /// /// /// /// /// /// /// The value of the indicated property. /// /// /// gluTessProperty is used to control properties stored in a tessellation /// object. These properties affect the way that the polygons are interpreted /// and rendered. /// /// /// // void APIENTRY gluTessProperty(GLUtesselator *tess, GLenum which, GLdouble value); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessProperty([In] GLUtesselator tess, int which, double data); #endregion gluTessProperty([In] GLUtesselator tess, int which, double data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] byte[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] double[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] short[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] int[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] float[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] ushort[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , , ] data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[, ,] data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] uint[ , , ] data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] IntPtr data) #region gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void *data) /// /// Specifies a vertex on a polygon. /// /// /// The tessellation object (created with ). /// /// /// The location of the vertex. /// /// /// A pointer passed back to the program with the vertex callback (as specified /// by ). /// /// /// /// gluTessVertex describes a vertex on a polygon that the program /// defines. Successive gluTessVertex calls describe a closed contour. /// For example, to describe a quadrilateral gluTessVertex should be /// called four times. gluTessVertex can only be called between /// and . /// /// /// data normally points to a structure containing the vertex location, /// as well as other per-vertex attributes such as color and normal. This /// pointer is passed back to the user through the /// or callback after tessellation (see the /// reference page). /// /// /// EXAMPLE /// /// /// The following describes a quadrilateral with a triangular hole: /// /// /// /// Glu.gluTessBeginPolygon(tess, null); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v1, v1); /// Glu.gluTessVertex(tess, v2, v2); /// Glu.gluTessVertex(tess, v3, v3); /// Glu.gluTessVertex(tess, v4, v4); /// Glu.gluTessEndContour(tess); /// Glu.gluNextContour(tess, Glu.GLU_INTERIOR); /// Glu.gluTessBeginContour(tess); /// Glu.gluTessVertex(tess, v5, v5); /// Glu.gluTessVertex(tess, v6, v6); /// Glu.gluTessVertex(tess, v7, v7); /// Glu.gluTessEndContour(tess); /// Glu.gluTessEndPolygon(tess); /// /// /// /// NOTES /// /// /// It is a common error to use a local variable for location or /// data and store values into it as part of a loop. For example: /// /// /// /// for(int i = 0; i < NVERTICES; ++i) { /// double data[3]; /// data[0] = vertex[i, 0]; /// data[1] = vertex[i, 1]; /// data[2] = vertex[i, 2]; /// Glu.gluTessVertex(tobj, data, data); /// } /// /// /// /// This doesn't work. Because the pointers specified by location and /// data might not be dereferenced until /// is executed, all the vertex coordinates but the very last set could be /// overwritten before tessellation begins. /// /// /// Two common symptoms of this problem are consists of a single point (when a /// local variable is used for data) and a /// error (when a local variable /// is used for location). /// /// /// /// /// /// /// /// /// // void APIENTRY gluTessVertex(GLUtesselator *tess, GLdouble coords[3], void *data); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), CLSCompliant(false), SuppressUnmanagedCodeSecurity] public unsafe static extern void gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void* data); #endregion gluTessVertex([In] GLUtesselator tess, [In] double[] location, [In] void *data) #region int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ) /// /// Maps window coordinates to object coordinates. /// /// /// The window's x axis coordinate to be mapped. /// /// /// The window's y axis coordinate to be mapped. /// /// /// The window's z axis coordinate to be mapped. /// /// /// The modelview matrix (as from a call). /// /// /// The projection matrix (as from a call). /// /// /// The viewport (as from a call). /// /// /// The computed object's x axis coordinate. /// /// /// The computed object's y axis coordinate. /// /// /// The computed object's z axis coordinate. /// /// /// A return value of indicates success; a return value /// of indicates failure. /// /// /// /// gluUnProject maps the specified window coordinates into object /// coordinates using modelMatrix, projectionMatrix, and /// viewport. The result is stored in objX, objY, and /// objZ. A return value of indicates success; /// a return value of indicates failure. /// /// /// To compute the coordinates (objX, objY, and objZ), /// gluUnProject multiplies the normalized device coordinates by the /// inverse of modelMatrix multiplied by projectionMatrix as /// follows: /// /// /// /// ( 2(winX - viewport[0]) ) /// | ----------------- - 1 | /// | viewport[2] | /// ( ) | | /// | objX | | 2(winY - viewport[1]) | /// | objY | = INV(PM)| ----------------- - 1 | /// | objZ | | viewport[3] | /// ( W ) | | /// | 2(winZ) - 1 | /// | | /// ( 1 ) /// /// /// /// INV() denotes matrix inversion. W is an unused variable, included for /// consistent matrix notation. /// /// /// /// /// // int APIENTRY gluUnProject(GLdouble winx, GLdouble winy, GLdouble winz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *objx, GLdouble *objy, GLdouble *objz); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ); #endregion int gluUnProject(double winX, double winY, double winZ, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, out double objX, out double objY, out double objZ) #region int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW) /// /// Maps window and clip coordinates to object coordinates. /// /// /// The window's x axis coordinate to be mapped. /// /// /// The window's y axis coordinate to be mapped. /// /// /// The window's z axis coordinate to be mapped. /// /// /// The clip w coordinate to be mapped. /// /// /// The modelview matrix (as from a call). /// /// /// The projection matrix (as from a call). /// /// /// The viewport (as from a call). /// /// /// The near plane (as from a call). /// /// /// The far plane (as from a call). /// /// /// The computed object's x axis coordinate. /// /// /// The computed object's y axis coordinate. /// /// /// The computed object's z axis coordinate. /// /// /// The computed object's clip w coordinate. /// /// /// A return value of indicates success; a return /// value of indicates failure. /// /// /// /// gluUnProject4 maps the specified window coordinates winX, /// winY and winZ and its clip w coordinate clipW into /// object coordinates (objX, objY, objZ, objW) /// using modelMatrix, projectionMatrix and viewport. /// clipW can be other than 1 as for vertices in /// when data type /// is returned. This also handles the /// case where the nearVal and farVal planes are different from the /// default, 0 and 1, respectively. A return value of /// indicates success; a return value of indicates /// failure. /// /// /// To compute the coordinates (objX, objY, objZ and /// objW), gluUnProject4 multiplies the normalized device /// coordinates by the inverse of modelMatrix multiplied by /// projectionMatrix as follows: /// /// /// /// ( 2(winX - viewport[0] ) /// | ---------------- - 1 | /// | viewport[2] | /// | | /// | 2(winY - viewport[1] | /// ( objX ) | ---------------- - 1 | /// | objY | = INV(PM) * | viewport[3] | /// | objZ | | | /// ( objW ) | 2(winZ - nearVal) | /// | -------------- - 1 | /// | farVal - nearVal | /// | | /// ( clipW ) /// /// /// /// INV() denotes matrix inversion. /// /// /// gluUnProject4 is equivalent to when /// clipW is 1, nearVal is 0 and farVal is 1. /// /// /// gluUnProject4 is available only if the GLU version is 1.3 or greater. /// /// /// /// /// /// /// // GLAPI GLint GLAPIENTRY gluUnProject4 (GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble *model, const GLdouble *proj, const GLint *view, GLdouble nearVal, GLdouble farVal, GLdouble* objX, GLdouble* objY, GLdouble* objZ, GLdouble* objW); [DllImport("glu32.dll", CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity] public static extern int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW); #endregion int gluUnProject4(double winX, double winY, double winZ, double clipW, [In] double[] modelMatrix, [In] double[] projectionMatrix, [In] int[] viewport, double nearVal, double farVal, out double objX, out double objY, out double objZ, out double objW) } }