Source Code Cross Referenced for GL11ExtensionPack.java in  » 6.0-JDK-Modules » j2me » javax » microedition » khronos » opengles » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules » j2me » javax.microedition.khronos.opengles 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


0001:        /*
0002:         * Copyright  1990-2007 Sun Microsystems, Inc. All Rights Reserved.
0003:         * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
0004:         * 
0005:         * This program is free software; you can redistribute it and/or
0006:         * modify it under the terms of the GNU General Public License version
0007:         * 2 only, as published by the Free Software Foundation.
0008:         * 
0009:         * This program is distributed in the hope that it will be useful, but
0010:         * WITHOUT ANY WARRANTY; without even the implied warranty of
0011:         * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
0012:         * General Public License version 2 for more details (a copy is
0013:         * included at /legal/license.txt).
0014:         * 
0015:         * You should have received a copy of the GNU General Public License
0016:         * version 2 along with this work; if not, write to the Free Software
0017:         * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
0018:         * 02110-1301 USA
0019:         * 
0020:         * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
0021:         * Clara, CA 95054 or visit www.sun.com if you need additional
0022:         * information or have any questions.
0023:         */
0024:
0025:        package javax.microedition.khronos.opengles;
0026:
0027:        import java.nio.*;
0028:
0029:        /**
0030:         * The <code>GL11ExtensionPack</code> interface contains the Java(TM)
0031:         * programming language bindings for the OpenGL ES 1.1 Extension Pack.
0032:         * The runtime OpenGL ES engine may or may not implement any
0033:         * particular extensions defined in the extension pack.  Functions
0034:         * that require a particular extension will throw an
0035:         * <code>UnsupportedOperationException</code> if the extension is not
0036:         * available at runtime.
0037:         *
0038:         * <p> The OpenGL ES 1.1 Extension Pack consists of the following extensions:
0039:         *
0040:         * <ul>
0041:         * <li>OES_texture_env_crossbar</li>
0042:         * <li>OES_texture_mirrored_repeat</li>
0043:         * <li>OES_texture_cube_map</li>
0044:         * <li>OES_blend_subtract</li>
0045:         * <li>OES_blend_func_separate</li>
0046:         * <li>OES_blend_equation_separate</li>
0047:         * <li>OES_stencil_wrap</li>
0048:         * <li>OES_extended_matrix_palette</li>
0049:         * <li>OES_framebuffer_object</li>
0050:         * </ul>
0051:         *
0052:         * <p> The specification for the OpenGL ES 1.1 Extension Pack may be
0053:         * found at <a
0054:         * href="http://www.khronos.org/cgi-bin/fetch/fetch.cgi?opengles_spec_1_1_extension_pack">http://www.khronos.org/cgi-bin/fetch/fetch.cgi?opengles_spec_1_1_extension_pack</a>.
0055:         *
0056:         * <p> The documentation in this class is normative with respect to
0057:         * instance variable names and values, method names and signatures,
0058:         * and exception behavior.  The remaining documentation is placed here
0059:         * for convenience and does not replace the normative documentation
0060:         * found in the OpenGL ES 1.1 Extension Pack specification, OpenGL ES
0061:         * specification, relevant extension specifications, and the OpenGL
0062:         * specification versions referenced by any of the preceding
0063:         * specifications.
0064:         */
0065:        public interface GL11ExtensionPack extends GL {
0066:
0067:            //   /**
0068:            //    * Flag indicating the presence of the "texture env crossbar"
0069:            //    * extension.  <code>OES_texture_env_crossbar</code> is an optional
0070:            //    * profile extension in OpenGL ES 1.1, and is part of the OpenGL ES
0071:            //    * 1.1 Extension Pack.
0072:            //    *
0073:            //    * <p> The value of this flag does not imply the presence of the
0074:            //    * extension in the runtime enviroment.
0075:            //    */
0076:            //   int GL_OES_texture_env_crossbar                         = 1;
0077:
0078:            /**
0079:             * (<code>OES_texture_env_crossbar</code> extension)
0080:             * Set texture environment parameters.
0081:             *
0082:             * <p> The <code>OES_texture_env_crossbar</code> extension adds the
0083:             * capability to use the texture color from other texture units as
0084:             * sources to the <code>COMBINE</code> texture function. OpenGL ES
0085:             * 1.1 defined texture combine functions which could use the color
0086:             * from the current texture unit as a source. This extension adds
0087:             * the ability to use the color from any texture unit as a source.
0088:             *
0089:             * <p> The tables that define arguments for <code>COMBINE_RGB</code>
0090:             * and <code>COMBINE_ALPHA</code> functions are extended to include
0091:             * <code>TEXTURE</code><i>n</i>:
0092:             *
0093:             * <pre>
0094:             * SRCn_RGB           OPERANDn_RGB              Argument
0095:             *
0096:             * TEXTURE            SRC_COLOR                 Cs
0097:             *                    ONE_MINUS_SRC_COLOR       1 - Cs
0098:             *                    SRC_ALPHA                 As
0099:             *                    ONE_MINUS_SRC_ALPHA       1 - As
0100:             *
0101:             * TEXTUREn           SRC_COLOR                 Cs^n
0102:             *                    ONE_MINUS_SRC_COLOR       1 - Cs^n
0103:             *                    SRC_ALPHA                 As^n
0104:             *                    ONE_MINUS_SRC_ALPHA       1 - As^n
0105:             *
0106:             * CONSTANT           SRC_COLOR                 Cc
0107:             *                    ONE_MINUS_SRC_COLOR       1 - Cc
0108:             *                    SRC_ALPHA                 Ac
0109:             *                    ONE_MINUS_SRC_ALPHA       1 - Ac
0110:             *
0111:             * PRIMARY_COLOR      SRC_COLOR                 Cf
0112:             *                    ONE_MINUS_SRC_COLOR       1 - Cf
0113:             *                    SRC_ALPHA                 Af
0114:             *                    ONE_MINUS_SRC_ALPHA       1 - Af
0115:             *
0116:             * PREVIOUS           SRC_COLOR                 Cp
0117:             *                    ONE_MINUS_SRC_COLOR       1 - Cp
0118:             *                    SRC_ALPHA                 Ap
0119:             *                    ONE_MINUS_SRC_ALPHA       1 - Ap
0120:             * </pre>
0121:             *
0122:             * @param param additionally accept <code>TEXTURE</code><i>n</i>,
0123:             * where <i>n</i> is a number between 0 and 31, inclusive.
0124:             *
0125:             * @see GL11#glTexEnvf(int target, int pname, float param)
0126:             */
0127:            void glTexEnvf(int target, int pname, float param);
0128:
0129:            /**
0130:             * (<code>OES_texture_env_crossbar</code> extension)
0131:             * Floating-point array version of <code>glTexEnv</code>.
0132:             *
0133:             * @see #glTexEnvf(int target, int pname, float param)
0134:             *
0135:             * @exception IllegalArgumentException if <code>params</code> is
0136:             * <code>null</code>.
0137:             * @exception IllegalArgumentException if <code>offset</code> is
0138:             * less than 0.
0139:             * @exception IllegalArgumentException if <code>params.length -
0140:             * offset</code> is smaller than the number of values required by
0141:             * the parameter.
0142:             */
0143:            void glTexEnvfv(int target, int pname, float[] params, int offset);
0144:
0145:            /**
0146:             * (<code>OES_texture_env_crossbar</code> extension)
0147:             * Floating-point <code>Buffer</code> version of
0148:             * <code>glTexEnv</code>.
0149:             *
0150:             * @see #glTexEnvf(int target, int pname, float param)
0151:             *
0152:             * @exception IllegalArgumentException if <code>params</code> is
0153:             * <code>null</code>.
0154:             * @exception IllegalArgumentException if
0155:             * <code>params.remaining()</code> is smaller than the number of
0156:             * values required by the parameter.
0157:             */
0158:            void glTexEnvfv(int target, int pname, FloatBuffer params);
0159:
0160:            /**
0161:             * (<code>OES_texture_env_crossbar</code> extension)
0162:             * Integer version of <code>glTexEnv</code>.
0163:             *
0164:             * @see #glTexEnvf(int target, int pname, float param)
0165:             */
0166:            void glTexEnvx(int target, int pname, int param);
0167:
0168:            /**
0169:             * (<code>OES_texture_env_crossbar</code> extension)
0170:             * Fixed-point array version of <code>glTexEnv</code>.
0171:             *
0172:             * @see #glTexEnvf(int target, int pname, float param)
0173:             *
0174:             * @exception IllegalArgumentException if <code>params</code> is
0175:             * <code>null</code>.
0176:             * @exception IllegalArgumentException if <code>offset</code> is
0177:             * less than 0.
0178:             * @exception IllegalArgumentException if <code>params.length -
0179:             * offset</code> is smaller than the number of values required by
0180:             * the parameter.
0181:             */
0182:            void glTexEnvxv(int target, int pname, int[] params, int offset);
0183:
0184:            /**
0185:             * (<code>OES_texture_env_crossbar</code> extension)
0186:             * Fixed-point <code>Buffer</code> version of <code>glTexEnv</code>.
0187:             *
0188:             * @see #glTexEnvf(int target, int pname, float param)
0189:             *
0190:             * @exception IllegalArgumentException if <code>params</code> is
0191:             * <code>null</code>.
0192:             * @exception IllegalArgumentException if
0193:             * <code>params.remaining()</code> is smaller than the number of
0194:             * values required by the parameter.
0195:             */
0196:            void glTexEnvxv(int target, int pname, IntBuffer params);
0197:
0198:            //   /**
0199:            //    * Flag indicating the presence of the "texture mirrored repeat"
0200:            //    * extension.  <code>OES_texture_mirrored_repeat</code> is an optional
0201:            //    * profile extension in OpenGL ES 1.1, and is part of the OpenGL ES
0202:            //    * 1.1 Extension Pack.
0203:            //    *
0204:            //    * <p> The value of this flag does not imply the presence of the
0205:            //    * extension in the runtime enviroment.
0206:            //    */
0207:            //   int GL_OES_texture_mirrored_repeat                      = 1;
0208:
0209:            /**
0210:             * Constant for use with <code>glTexParameter</code> and
0211:             * <code>glGetTexParameter</code>
0212:             * (<code>OES_texture_mirrored_repeat</code> extension).
0213:             */
0214:            int GL_MIRRORED_REPEAT = 0x8370;
0215:
0216:            /**
0217:             * (<code>OES_texture_mirrored_repeat</code> extension)
0218:             * Set texture parameters.
0219:             *
0220:             * <p> An additional option is accepted for
0221:             * <code>GL_TEXTURE_WRAP_S</code> and
0222:             * <code>GL_TEXTURE_WRAP_T</code></li> parameters.
0223:             * <code>GL_MIRRORED_REPEAT</code> effectively uses a texture map
0224:             * twice as large as the original image im which the additional
0225:             * half, for each coordinate, of the new image is a mirror image of
0226:             * the original image.
0227:             *
0228:             * @see GL11#glTexParameterf(int target, int pname, float param)
0229:             */
0230:            void glTexParameterf(int target, int pname, float param);
0231:
0232:            //   /**
0233:            //    * Flag indicating the presence of the "texture cube map" extension.
0234:            //    * <code>OES_texture_cube_map</code> is an optional profile
0235:            //    * extension in OpenGL ES 1.1, and is part of the OpenGL ES 1.1
0236:            //    * Extension Pack.
0237:            //    *
0238:            //    * <p> The value of this flag does not imply the presence of the
0239:            //    * extension in the runtime enviroment.
0240:            //    */
0241:            //   int GL_OES_texture_cube_map                             = 1;
0242:
0243:            /**
0244:             * Constant for use with <code>glTexGen</code>
0245:             * (<code>OES_texture_cube_map</code> extension).
0246:             */
0247:            int GL_NORMAL_MAP = 0x8511;
0248:
0249:            /**
0250:             * Constant for use with <code>glTexGen</code>
0251:             * (<code>OES_texture_cube_map</code> extension).
0252:             */
0253:            int GL_REFLECTION_MAP = 0x8512;
0254:
0255:            /**
0256:             * Constant for use with <code>glBindTexture</code>,
0257:             * <code>glTexParameter</code>, <code>glEnable</code>,
0258:             * <code>glDisable</code>, and <code>glIsEnabled</code>
0259:             * (<code>OES_texture_cube_map</code> extension).
0260:             */
0261:            int GL_TEXTURE_CUBE_MAP = 0x8513;
0262:
0263:            /**
0264:             * Constant for use with <code>glGetInteger</code>
0265:             * (<code>OES_texture_cube_map</code> extension).
0266:             */
0267:            int GL_TEXTURE_BINDING_CUBE_MAP = 0x8514;
0268:
0269:            // Need revisit - value
0270:            /**
0271:             * Constant for use with <code>glTexGen</code> for the
0272:             * <code>OES_texture_cube_map</code> extension.
0273:             */
0274:            int GL_STR = -1;
0275:
0276:            /**
0277:             * Constant for use with <code>glTexGen</code>
0278:             * (<code>OES_texture_cube_map</code> extension).
0279:             */
0280:            int GL_TEXTURE_GEN_MODE = 0x2500;
0281:
0282:            /**
0283:             * Constant for use with <code>glEnable</code> and
0284:             * <code>glDisable</code> (<code>OES_texture_cube_map</code>
0285:             * extension).
0286:             */
0287:            int GL_TEXTURE_GEN_STR = 0x8D60;
0288:
0289:            /**
0290:             * Constant for use with <code>glTexImage2D</code> and
0291:             * <code>glCompressedTexImage2D</code>
0292:             * (<code>OES_texture_cube_map</code> extension).
0293:             */
0294:            int GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x207D;
0295:
0296:            /**
0297:             * Constant for use with <code>glTexImage2D</code> and
0298:             * <code>glCompressedTexImage2D</code>
0299:             * (<code>OES_texture_cube_map</code> extension).
0300:             */
0301:            int GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x207E;
0302:
0303:            /**
0304:             * Constant for use with <code>glTexImage2D</code> and
0305:             * <code>glCompressedTexImage2D</code>
0306:             * (<code>OES_texture_cube_map</code> extension).
0307:             */
0308:            int GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x207F;
0309:
0310:            /**
0311:             * Constant for use with <code>glTexImage2D</code> and
0312:             * <code>glCompressedTexImage2D</code>
0313:             * (<code>OES_texture_cube_map</code> extension).
0314:             */
0315:            int GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x2080;
0316:
0317:            /**
0318:             * Constant for use with <code>glTexImage2D</code> and
0319:             * <code>glCompressedTexImage2D</code>
0320:             * (<code>OES_texture_cube_map</code> extension).
0321:             */
0322:            int GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x2081;
0323:
0324:            /**
0325:             * Constant for use with <code>glTexImage2D</code> and
0326:             * <code>glCompressedTexImage2D</code>
0327:             * (<code>OES_texture_cube_map</code> extension).
0328:             */
0329:            int GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x2082;
0330:
0331:            /**
0332:             * Constant for use with <code>glGetIntegerv</code>
0333:             * (<code>OES_texture_cube_map</code> extension).
0334:             */
0335:            int GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C;
0336:
0337:            /**
0338:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0339:             * Bind a named texture to a texturing target.
0340:             *
0341:             * <p> The <code>OES_texture_cube_map</code> extension allows the
0342:             * value <code>GL_TEXTURE_CUBE_MAP</code> to be passed to the
0343:             * <code>target</code> parameter.
0344:             *
0345:             * @param target additionally accepts
0346:             * <code>GL_TEXTURE_CUBE_MAP</code>.
0347:             *
0348:             * @see GL11#glBindTexture(int target, int texture)
0349:             */
0350:            void glBindTexture(int target, int texture);
0351:
0352:            /**
0353:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0354:             * Specify a two-dimensional compressed texture image.
0355:             *
0356:             * <p> The <code>OES_texture_cube_map</code> extension allows the
0357:             * values
0358:             * <code>GL_TEXTURE_CUBE_MAP_{POSITIVE,NEGATIVE}_{X,Y,Z}</code> to
0359:             * be passed to the <code>target</code> parameter.
0360:             *
0361:             * @param target additionally accepts the constants
0362:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>,
0363:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>,
0364:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>,
0365:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>,
0366:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, and
0367:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>.
0368:             *
0369:             * @see GL11#glCompressedTexImage2D
0370:             *
0371:             * @exception IllegalArgumentException if <code>data</code> is
0372:             * <code>null</code>.
0373:             * @exception IllegalArgumentException if
0374:             * <code>data.remaining()</code> is less than
0375:             * <code>imageSize</code>.
0376:             */
0377:            void glCompressedTexImage2D(int target, int level,
0378:                    int internalformat, int width, int height, int border,
0379:                    int imageSize, Buffer data);
0380:
0381:            /**
0382:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0383:             * Specify a two-dimensional texture image with pixels from the
0384:             * color buffer.
0385:             *
0386:             * <p> The <code>OES_texture_cube_map</code> extension allows the
0387:             * values
0388:             * <code>GL_TEXTURE_CUBE_MAP_{POSITIVE,NEGATIVE}_{X,Y,Z}</code> to
0389:             * be passed to the <code>target</code> parameter.
0390:             *
0391:             * @param target additionally accepts the constants
0392:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>,
0393:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>,
0394:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>,
0395:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>,
0396:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, and
0397:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>.
0398:             *
0399:             * @see GL11#glCompressedTexImage2D
0400:             */
0401:            void glCopyTexImage2D(int target, int level, int internalformat,
0402:                    int x, int y, int width, int height, int border);
0403:
0404:            /**
0405:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0406:             * Enable server-side GL capabilities.
0407:             *
0408:             * <p>Cube-map texturing is enabled if <code>cap</code> assumes the
0409:             * value <code>GL_TEXTURE_CUBE_MAP</code>.
0410:             *
0411:             * <p>If enabled, cube-map texturing is performed for the active
0412:             * texture unit. See <code>GL.glActiveTexture</code>,
0413:             * <code>GL.glTexImage2D</code>, <code>glCompressedTexImage2D</code>,
0414:             * and <code>glCopyTexImage2D</code>.
0415:             *
0416:             * <p>Texture coordinates with be generated if <code>cap</code> is
0417:             * equal to <code>GL_TEXTURE_GEN_STR</code>.
0418:             *
0419:             * @see GL11#glEnable(int cap)
0420:             */
0421:            void glEnable(int cap);
0422:
0423:            /**
0424:             * (1.1 + <code>OES_texture_cube_map</code>,
0425:             * <code>OES_blend_subtract</code>,
0426:             * <code>OES_blend_func_separate</code>, and
0427:             * <code>OES_blend_equation_separate</code> extensions) Return the
0428:             * value or values of a selected parameter.
0429:             *
0430:             * <p> The extensions in the GL 1.1 Extension Pack add the following
0431:             * constants as possible values for <code>pname</code>:
0432:             *
0433:             * <ul>
0434:             *
0435:             * <li><code>GL_BLEND_DST_ALPHA</code> (1.1 +
0436:             * <code>OES_blend_func_separate</code> extension)</li>
0437:             *
0438:             * <p><code>params</code> returns one value, the symbolic constant
0439:             * identifying the destination blend function set by
0440:             * <code>glBlendFunc</code>, or the destination alpha blend function
0441:             * set by <code>glBlendFuncSeparate</code>. See
0442:             * <code>glBlendFunc</code> and <code>glBlendFuncSeparate</code>.
0443:             *
0444:             * <li><code>GL_BLEND_DST_RGB</code> (1.1 +
0445:             * <code>OES_blend_func_separate</code> extension)</li>
0446:             *
0447:             * <p><code>params</code> returns one value, the symbolic constant
0448:             * identifying the destination blend function set by
0449:             * <code>glBlendFunc</code>, or the destination RGB blend function
0450:             * set by <code>glBlendFuncSeparate</code>. See
0451:             * <code>glBlendFunc</code> and <code>glBlendFuncSeparate</code>.
0452:             *
0453:             * <li><code>GL_BLEND_EQUATION</code> (1.1 +
0454:             * <code>OES_blend_subtract</code> and
0455:             * <code>OES_blend_equation_separate</code> extensions)</li>
0456:             *
0457:             * <p><code>params</code> returns one value, the symbolic constant
0458:             * identifying the blend equation set by
0459:             * <code>glBlendEquation</code>, or the RGB blend equation set by
0460:             * <code>glBlendEquationSeparate</code>. See
0461:             * <code>glBlendEquation</code> and
0462:             * <code>glBlendEquationSeparate</code>.
0463:             *
0464:             * <li><code>GL_BLEND_EQUATION_ALPHA</code> (1.1 +
0465:             * <code>OES_blend_equation_separate</code> extension)</li>
0466:             *
0467:             * <p><code>params</code> returns one value, the symbolic constant
0468:             * identifying the blend equation set by
0469:             * <code>glBlendEquation</code>, or the alpha blend equation set by
0470:             * <code>glBlendEquationSeparate</code>. See
0471:             * <code>glBlendEquation</code> and
0472:             * <code>glBlendEquationSeparate</code>.
0473:             *
0474:             * <li><code>GL_BLEND_EQUATION_RGB</code> (1.1 +
0475:             * <code>OES_blend_subtract</code> and
0476:             * <code>OES_blend_equation_separate</code> extensions)</li>
0477:             *
0478:             * <p><code>params</code> returns one value, the symbolic constant
0479:             * identifying the blend equation set by
0480:             * <code>glBlendEquation</code>, or the RGB blend equation set by
0481:             * <code>glBlendEquationSeparate</code>. See
0482:             * <code>glBlendEquation</code> and
0483:             * <code>glBlendEquationSeparate</code>.
0484:             *
0485:             * <li><code>GL_BLEND_SRC</code> (1.1 only)</li>
0486:             *
0487:             * <p><code>params</code> returns one value, the symbolic constant
0488:             * identifying the source blend function set by <code>glBlendFunc</code>,
0489:             * or the source RGB blend function set by
0490:             * <code>glBlendFuncSeparate</code>. See <code>glBlendFunc</code> and
0491:             * <code>glBlendFuncSeparate</code>.
0492:             *
0493:             * <li><code>GL_BLEND_SRC_ALPHA</code> (1.1 +
0494:             * <code>OES_blend_func_separate</code> extension)</li>
0495:             *
0496:             * <p><code>params</code> returns one value, the symbolic constant
0497:             * identifying the source blend function set by <code>glBlendFunc</code>,
0498:             * or the source alpha blend function set by
0499:             * <code>glBlendFuncSeparate</code>. See <code>glBlendFunc</code> and
0500:             * <code>glBlendFuncSeparate</code>.
0501:             *
0502:             * <li><code>GL_BLEND_SRC_RGB</code> (1.1 +
0503:             * <code>OES_blend_func_separate</code> extension)</li>
0504:             *
0505:             * <p><code>params</code> returns one value, the symbolic constant
0506:             * identifying the source blend function set by <code>glBlendFunc</code>,
0507:             * or the source RGB blend function set by
0508:             * <code>glBlendFuncSeparate</code>. See <code>glBlendFunc</code> and
0509:             * <code>glBlendFuncSeparate</code>.
0510:             *
0511:             * <li><code>GL_MAX_CUBE_MAP_TEXTURE_SIZE</code> (1.1 +
0512:             * <code>OES_texture_cube_map</code> extension)</li>
0513:             * 
0514:             * <p><code>params</code> returns one value, the maximum dimension
0515:             * of any face in a cube map texture.  The value must be at least
0516:             * 64. See <code>glTexImage2D</code>,
0517:             * <code>glCompressedTexImage2D</code>, and
0518:             * <code>glCopyTexImage2D</code>.
0519:             *
0520:             * <li><code>GL_MAX_PALETTE_MATRICES_OES</code>
0521:             * (<code>OES_matrix_palette</code> extension)</li>
0522:             *
0523:             * <p><code>params</code> returns the size of the matrix
0524:             * palette. The initial value is 32 if the
0525:             * <code>OES_extended_matrix_palette</code> extension is present.
0526:             *
0527:             * <li><code>GL_MAX_VERTEX_UNITS_OES</code>
0528:             * (<code>OES_matrix_palette</code> extension)</li>
0529:             *
0530:             * <p><code>params</code> returns the number of matrices per
0531:             * vertex. The initial value is 4 if the
0532:             * <code>OES_extended_matrix_palette</code> extension is present.
0533:             *
0534:             * </ul>
0535:             *
0536:             * @see GL11#glGetIntegerv(int pname, int[] params, int offset)
0537:             *
0538:             * @exception IllegalArgumentException if <code>params</code> is
0539:             * <code>null</code>.
0540:             * @exception IllegalArgumentException if <code>offset</code> is
0541:             * less than 0.
0542:             * @exception IllegalArgumentException if <code>params.length -
0543:             * offset</code> is smaller than the number of values required by
0544:             * the parameter.
0545:             */
0546:            void glGetIntegerv(int pname, int[] params, int offset);
0547:
0548:            /**
0549:             * (1.1 + <code>OES_texture_cube_map</code>,
0550:             * <code>OES_blend_subtract</code>,
0551:             * <code>OES_blend_func_separate</code>, and
0552:             * <code>OES_blend_equation_separate</code> extensions)
0553:             * Integer <code>Buffer</code> version of
0554:             * <code>getGetIntegerv</code>.
0555:             *
0556:             * @see #glGetIntegerv(int pname, int[] params, int offset)
0557:             *
0558:             * @exception IllegalArgumentException if <code>params</code> is
0559:             * <code>null</code>.
0560:             * @exception IllegalArgumentException if
0561:             * <code>params.remaining()</code> is smaller than the number of
0562:             * values required by the parameter.
0563:             */
0564:            void glGetIntegerv(int pname, IntBuffer params);
0565:
0566:            /**
0567:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0568:             * Specify texture coordinate generation function.
0569:             *
0570:             * <p>The <code>OES_texture_cube_map</code> extension provides a new
0571:             * texture generation scheme for cube map textures. Instead of the
0572:             * current texture providing a 2D lookup into a 2D texture image,
0573:             * the texture is a set of six 2D images representing the faces of a
0574:             * cube. The <code>(s,t,r)</code> texture coordinates are treated as
0575:             * a direction vector emanating from the center of a cube. At
0576:             * texture generation time, the interpolated per-fragment
0577:             * <code>(s,t,r)</code> selects one cube face 2D image based on the
0578:             * largest magnitude coordinate (the major axis). A new 2D
0579:             * <code>(s,t)</code> is calculated by dividing the two other
0580:             * coordinates (the minor axes values) by the major axis value. Then
0581:             * the new <code>(s,t)</code> is used to lookup into the selected 2D
0582:             * texture image face of the cube map.
0583:             *
0584:             * <p>Unlike a standard 2D texture that have just one target, a cube
0585:             * map texture has six targets, one for each of its six 2D texture
0586:             * image cube faces. All these targets must be consistent, complete,
0587:             * and have equal width and height.
0588:             *
0589:             * <p>This extension also provides two new texture coordinate
0590:             * generation modes for use in conjunction with cube map
0591:             * texturing. The reflection map mode generates texture coordinates
0592:             * <code>(s,t,r)</code> matching the vertex?s eyespace reflection
0593:             * vector. The reflection map mode is useful for environment mapping
0594:             * without the singularity inherent in sphere mapping. The normal
0595:             * map mode generates texture coordinates <code>(s,t,r)</code>
0596:             * matching the vertex?s transformed eyespace normal. The normal map
0597:             * mode is useful for sophisticated cube map texturing-based diffuse
0598:             * lighting models.
0599:             *
0600:             * <p>The intent of the new texgen functionality is that an
0601:             * application using cube map texturing can use the new texgen modes
0602:             * to automatically generate the reflection or normal vectors used
0603:             * to look up into the cube map texture.
0604:             *
0605:             * <p>The following texgen modes are supported: <code>GL_REFLECTION
0606:             * MAP</code> and <code>GL_NORMAL MAP</code>. The
0607:             * <code>GL_SPHERE_MAP</code>, <code>GL_OBJECT LINEAR</code>, and
0608:             * <code>GL_EYE LINEAR</code> texgen modes are not supported. Texgen
0609:             * supports a new coord value <code>GL_STR</code>.  This allows the
0610:             * application to specify the texgen mode for the appropriate
0611:             * coordinates in a single call. Texgen with coord values of
0612:             * <code>GL_S</code>, <code>GL_T</code>, <code>GL_R</code> and
0613:             * <code>GL_Q</code> are not supported.
0614:             *
0615:             * <h4>Errors</h4>
0616:             *
0617:             * <p><code>GL_INVALID_ENUM</code> is generated if
0618:             * <code>param</code> or <code>pname</code> is not an accepted
0619:             * value, or if <code>pname</code> is
0620:             * <code>GL_TEXTURE_GEN_MODE</code> and <code>params</code> is not
0621:             * <code>GL_REFLECTION_MAP</code> or <code>GL_NORMAL_MAP</code>.
0622:             *
0623:             * <h4>Associated Gets</h4>
0624:             *
0625:             * <p><code>glGetTexGen</code>, <code>glIsEnabled</code> with
0626:             * argument <code>GL_TEXTURE_GEN_STR</code>.
0627:             *
0628:             * @param coord Specifies the texture coordinate or coordinates for
0629:             * which a generation function is being specified. At present, only
0630:             * <code>GL_STR</code> is accepted.
0631:             * @param pname Specifies a single-valued integer texture coordinate
0632:             * generation parameter. At present, only
0633:             * <code>GL_TEXTURE_GEN_MODE</code> is accepted.
0634:             * @param param Specifies the value that <code>pname</code> will be
0635:             * set to.  If <code>pname</code> is <code>GL_TEXTURE_GEN_MODE</code>, then
0636:             * <code>GL_REFLECTION_MAP</code> and <code>GL_NORMAL_MAP</code> are
0637:             * accepted.
0638:             *
0639:             * @exception UnsupportedOperationException if the underlying
0640:             * runtime engine does not support the
0641:             * <code>OES_texture_cube_map</code> extension.
0642:             */
0643:            void glTexGeni(int coord, int pname, int param);
0644:
0645:            /**
0646:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0647:             * Floating-point version of <code>glTexGen</code>.
0648:             *
0649:             * @see #glTexGeni(int coord, int pname, int param)
0650:             *
0651:             * @exception UnsupportedOperationException if the underlying
0652:             * runtime engine does not support the
0653:             * <code>OES_texture_cube_map</code> extension.
0654:             */
0655:            void glTexGenf(int coord, int pname, float param);
0656:
0657:            /**
0658:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0659:             * Fixed-point version of <code>glTexGen</code>.
0660:             *
0661:             * @see #glTexGeni(int coord, int pname, int param)
0662:             *
0663:             * @exception UnsupportedOperationException if the underlying
0664:             * runtime engine does not support the
0665:             * <code>OES_texture_cube_map</code> extension.
0666:             */
0667:            void glTexGenx(int coord, int pname, int param);
0668:
0669:            /**
0670:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0671:             * Floating-point array version of <code>glTexGen</code>.
0672:             *
0673:             * @see #glTexGeni(int coord, int pname, int param)
0674:             *
0675:             * @exception UnsupportedOperationException if the underlying
0676:             * runtime engine does not support the
0677:             * <code>OES_texture_cube_map</code> extension.
0678:             * @exception IllegalArgumentException if <code>params</code> is
0679:             * <code>null</code>.
0680:             * @exception IllegalArgumentException if <code>offset</code> is
0681:             * less than 0.
0682:             * @exception IllegalArgumentException if <code>params.length -
0683:             * offset</code> is smaller than the number of values required by
0684:             * the parameter.
0685:             */
0686:            void glTexGenfv(int coord, int pname, float[] params, int offset);
0687:
0688:            /**
0689:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0690:             * Floating-point <code>Buffer</code> version of
0691:             * <code>glTexGen</code>.
0692:             *
0693:             * @see #glTexGeni(int coord, int pname, int param)
0694:             *
0695:             * @exception UnsupportedOperationException if the underlying
0696:             * runtime engine does not support the
0697:             * <code>OES_texture_cube_map</code> extension.
0698:             * @exception IllegalArgumentException if <code>params</code> is
0699:             * <code>null</code>.
0700:             * @exception IllegalArgumentException if
0701:             * <code>params.remaining()</code> is smaller than the number of
0702:             * values required by the parameter.
0703:             */
0704:            void glTexGenfv(int coord, int pname, FloatBuffer params);
0705:
0706:            /**
0707:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0708:             * Integer array version of <code>glTexGen</code>.
0709:             *
0710:             * @see #glTexGeni(int coord, int pname, int param)
0711:             *
0712:             * @exception UnsupportedOperationException if the underlying
0713:             * runtime engine does not support the
0714:             * <code>OES_texture_cube_map</code> extension.
0715:             * @exception IllegalArgumentException if <code>params</code> is
0716:             * <code>null</code>.
0717:             * @exception IllegalArgumentException if <code>offset</code> is
0718:             * less than 0.
0719:             * @exception IllegalArgumentException if <code>params.length -
0720:             * offset</code> is smaller than the number of values required by
0721:             * the parameter.
0722:             */
0723:            void glTexGeniv(int coord, int pname, int[] params, int offset);
0724:
0725:            /**
0726:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0727:             * Integer <code>Buffer</code> version of <code>glTexGen</code>.
0728:             *
0729:             * @see #glTexGeni(int coord, int pname, int param)
0730:             *
0731:             * @exception UnsupportedOperationException if the underlying
0732:             * runtime engine does not support the
0733:             * <code>OES_texture_cube_map</code> extension.
0734:             * @exception IllegalArgumentException if <code>params</code> is
0735:             * <code>null</code>.
0736:             * @exception IllegalArgumentException if
0737:             * <code>params.remaining()</code> is smaller than the number of
0738:             * values required by the parameter.
0739:             */
0740:            void glTexGeniv(int coord, int pname, IntBuffer params);
0741:
0742:            /**
0743:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0744:             * Fixed-point array version of <code>glTexGen</code>.
0745:             *
0746:             * @see #glTexGeni(int coord, int pname, int param)
0747:             *
0748:             * @exception UnsupportedOperationException if the underlying
0749:             * runtime engine does not support the
0750:             * <code>OES_texture_cube_map</code> extension.
0751:             * @exception IllegalArgumentException if <code>params</code> is
0752:             * <code>null</code>.
0753:             * @exception IllegalArgumentException if <code>offset</code> is
0754:             * less than 0.
0755:             * @exception IllegalArgumentException if <code>params.length -
0756:             * offset</code> is smaller than the number of values required by
0757:             * the parameter.
0758:             */
0759:            void glTexGenxv(int coord, int pname, int[] params, int offset);
0760:
0761:            /**
0762:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0763:             * Fixed-point <code>Buffer</code> version of <code>glTexGen</code>.
0764:             *
0765:             * @see #glTexGeni(int coord, int pname, int param)
0766:             *
0767:             * @exception UnsupportedOperationException if the underlying
0768:             * runtime engine does not support the
0769:             * <code>OES_texture_cube_map</code> extension.
0770:             * @exception IllegalArgumentException if <code>params</code> is
0771:             * <code>null</code>.
0772:             * @exception IllegalArgumentException if
0773:             * <code>params.remaining()</code> is smaller than the number of
0774:             * values required by the parameter.
0775:             */
0776:            void glTexGenxv(int coord, int pname, IntBuffer params);
0777:
0778:            // GetTexGen
0779:
0780:            /**
0781:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0782:             * Get texture coordinate generation parameters.
0783:             *
0784:             * This method queries texture coordinate generation parameters set
0785:             * using <code>glTexGen</code>.
0786:             *
0787:             * <h4>Errors</h4>
0788:             *
0789:             * <p><code>GL_INVALID_ENUM</code> is generated if
0790:             * <code>param</code> or <code>pname</code> is not an accepted
0791:             * value, or if <code>pname</code> is
0792:             * <code>GL_TEXTURE_GEN_MODE</code> and <code>params</code> is not
0793:             * <code>GL_REFLECTION_MAP</code> or <code>GL_NORMAL_MAP</code>.
0794:             *
0795:             * @param coord Specifies the texture coordinate or coordinates for
0796:             * which a generation parameter is being requested. At present, only
0797:             * <code>GL_STR</code> is accepted.
0798:             * @param pname Specifies a single-valued integer texture coordinate
0799:             * generation parameter. At present, only
0800:             * <code>GL_TEXTURE_GEN_MODE</code> is accepted.
0801:             * @param params Returns the value or values of the specified
0802:             * parameter.
0803:             *
0804:             * @exception UnsupportedOperationException if the underlying
0805:             * runtime engine does not support the
0806:             * <code>OES_texture_cube_map</code> extension.
0807:             * @exception IllegalArgumentException if <code>params</code> is
0808:             * <code>null</code>.
0809:             * @exception IllegalArgumentException if <code>offset</code> is
0810:             * less than 0.
0811:             * @exception IllegalArgumentException if <code>params.length -
0812:             * offset</code> is smaller than the number of values required by
0813:             * the parameter.
0814:             */
0815:            void glGetTexGeniv(int coord, int pname, int[] params, int offset);
0816:
0817:            /**
0818:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0819:             * Integer <code>Buffer</code> version of <code>glGetTexGen</code>.
0820:             *
0821:             * @see #glGetTexGeniv(int coord, int pname, int[] params, int offset)
0822:             *
0823:             * @exception UnsupportedOperationException if the underlying
0824:             * runtime engine does not support the
0825:             * <code>OES_texture_cube_map</code> extension.
0826:             * @exception IllegalArgumentException if <code>params</code> is
0827:             * <code>null</code>.
0828:             * @exception IllegalArgumentException if
0829:             * <code>params.remaining()</code> is smaller than the number of
0830:             * values required by the parameter.
0831:             */
0832:            void glGetTexGeniv(int coord, int pname, IntBuffer params);
0833:
0834:            /**
0835:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0836:             * Floating-point array version of <code>glGetTexGen</code>.
0837:             *
0838:             * @see #glGetTexGeniv(int coord, int pname, int[] params, int offset)
0839:             *
0840:             * @exception UnsupportedOperationException if the underlying
0841:             * runtime engine does not support the
0842:             * <code>OES_texture_cube_map</code> extension.
0843:             * @exception IllegalArgumentException if <code>params</code> is
0844:             * <code>null</code>.
0845:             * @exception IllegalArgumentException if <code>offset</code> is
0846:             * less than 0.
0847:             * @exception IllegalArgumentException if <code>params.length -
0848:             * offset</code> is smaller than the number of values required by
0849:             * the parameter.
0850:             */
0851:            void glGetTexGenfv(int coord, int pname, float[] params, int offset);
0852:
0853:            /**
0854:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0855:             * Fixed-point array version of <code>glGetTexGen</code>.
0856:             *
0857:             * @see #glGetTexGeniv(int coord, int pname, int[] params, int offset)
0858:             *
0859:             * @exception UnsupportedOperationException if the underlying
0860:             * runtime engine does not support the
0861:             * <code>OES_texture_cube_map</code> extension.
0862:             * @exception IllegalArgumentException if <code>params</code> is
0863:             * <code>null</code>.
0864:             * @exception IllegalArgumentException if <code>offset</code> is
0865:             * less than 0.
0866:             * @exception IllegalArgumentException if <code>params.length -
0867:             * offset</code> is smaller than the number of values required by
0868:             * the parameter.
0869:             */
0870:            void glGetTexGenxv(int coord, int pname, int[] params, int offset);
0871:
0872:            /**
0873:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0874:             * Fixed-point <code>Buffer</code> version of <code>glGetTexGen</code>.
0875:             *
0876:             * @see #glGetTexGeniv(int coord, int pname, int[] params, int offset)
0877:             *
0878:             * @exception UnsupportedOperationException if the underlying
0879:             * runtime engine does not support the
0880:             * <code>OES_texture_cube_map</code> extension.
0881:             * @exception IllegalArgumentException if <code>params</code> is
0882:             * <code>null</code>.
0883:             * @exception IllegalArgumentException if
0884:             * <code>params.remaining()</code> is smaller than the number of
0885:             * values required by the parameter.
0886:             */
0887:            void glGetTexGenxv(int coord, int pname, IntBuffer params);
0888:
0889:            /**
0890:             * (1.1 + <code>OES_texture_cube_map</code> extension)
0891:             * Floating-point <code>Buffer</code> version of <code>glGetTexGen</code>.
0892:             *
0893:             * @see #glGetTexGeniv(int coord, int pname, int[] params, int offset)
0894:             *
0895:             * @exception UnsupportedOperationException if the underlying
0896:             * runtime engine does not support the
0897:             * <code>OES_texture_cube_map</code> extension.
0898:             * @exception IllegalArgumentException if <code>params</code> is
0899:             * <code>null</code>.
0900:             * @exception IllegalArgumentException if
0901:             * <code>params.remaining()</code> is smaller than the number of
0902:             * values required by the parameter.
0903:             */
0904:            void glGetTexGenfv(int coord, int pname, FloatBuffer params);
0905:
0906:            //   /**
0907:            //    * Flag indicating the presence of the "blend subtract" extension.
0908:            //    * <code>OES_blend_subtract</code> is an optional profile extension
0909:            //    * in OpenGL ES 1.1, and is part of the OpenGL ES 1.1 Extension
0910:            //    * Pack.
0911:            //    *
0912:            //    * <p> The value of this flag does not imply the presence of the
0913:            //    * extension in the runtime enviroment.
0914:            //    */
0915:            //   int GL_OES_blend_subtract                               = 1;
0916:
0917:            /**
0918:             * Constant for use with <code>glBlendEquation</code>
0919:             * (<code>OES_blend_subtract</code> extension).
0920:             */
0921:            int GL_FUNC_ADD = 0x8006;
0922:
0923:            /**
0924:             * Constant for use with <code>glBlendEquation</code>
0925:             * (<code>OES_blend_subtract</code> extension).
0926:             */
0927:            int GL_FUNC_SUBTRACT = 0x800A;
0928:
0929:            /**
0930:             * Constant for use with <code>glBlendEquation</code>
0931:             * (<code>OES_blend_subtract</code> extension).
0932:             */
0933:            int GL_FUNC_REVERSE_SUBTRACT = 0x800B;
0934:
0935:            /**
0936:             * (1.1 + <code>OES_blend_subtract</code> extension) Specify the
0937:             * blending equation.
0938:             *
0939:             * <p>Blending is controlled by <code>glBlendEquation</code>.
0940:             *
0941:             * <p><code>glBlendEquation</code> <code>mode</code>
0942:             * <code>GL_FUNC_ADD</code> defines the blend equation as
0943:             *
0944:             * <pre>C = Cs * S + Cd * D,</pre>
0945:             *
0946:             * where <code>Cs</code> and <code>Cd</code> are the source and
0947:             * destination colors, <code>S</code> and <code>D</code> are the
0948:             * quadruplets of weighting factors determined by the blend
0949:             * functions <code>glBlendFunc</code> and
0950:             * <code>glBlendFuncSeparate</code>, and C is the new color
0951:             * resulting from blending.
0952:             *
0953:             * <p>If <code>mode</code> is <code>GL_FUNC_SUBTRACT</code>, the
0954:             * blending equation is defined as
0955:             *
0956:             * <pre>C = Cs * S - Cd * D.</pre>
0957:             *
0958:             * <p>If <code>mode</code> is <code>GL_FUNC_REVERSE_SUBTRACT</code>,
0959:             * the blend equation is defined as
0960:             *
0961:             * <pre>C = Cd * D - Cs * S.</pre>
0962:             *
0963:             * <h4>Errors</h4>
0964:             *
0965:             * <p><code>GL_INVALID_ENUM</code> is generated if <code>mode</code>
0966:             * is not an accepted value.
0967:             *
0968:             * <h4>Associated Gets</h4>
0969:             *
0970:             * <p><code>glGetIntegerv</code> with argument
0971:             * <code>GL_BLEND_EQUATION</code> returns the blend equation.
0972:             *
0973:             * @param mode Specifies the blend
0974:             * equation. <code>GL_FUNC_ADD</code>,
0975:             * <code>GL_FUNC_SUBTRACT</code>, and
0976:             * <code>GL_FUNC_REVERSE_SUBTRACT</code> are accepted.
0977:             *
0978:             * @see GL11#glBlendFunc
0979:             * @see #glBlendFuncSeparate
0980:             *
0981:             * @exception UnsupportedOperationException if the underlying
0982:             * runtime engine does not support the
0983:             * <code>OES_blend_subtract</code> extension.
0984:             */
0985:            void glBlendEquation(int mode);
0986:
0987:            //   /**
0988:            //    * Flag indicating the presence of the "blend func separate"
0989:            //    * extension.  <code>OES_blend_func_separate</code> is an optional
0990:            //    * profile extension in OpenGL ES 1.1, and is part of the OpenGL ES
0991:            //    * 1.1 Extension Pack.
0992:            //    *
0993:            //    * <p> The value of this flag does not imply the presence
0994:            //    * of the extension in the runtime enviroment.
0995:            //    */
0996:            //   int GL_OES_blend_func_separate                          = 1;
0997:
0998:            /**
0999:             * Constant for use with <code>glBlendFuncSeparate</code> 
1000:             * (<code>OES_blend_func_separate</code> extension).
1001:             */
1002:            int GL_BLEND_DST_RGB = 0x80C8;
1003:
1004:            /**
1005:             * Constant for use with <code>glBlendFuncSeparate</code> 
1006:             * (<code>OES_blend_func_separate</code> extension).
1007:             */
1008:            int GL_BLEND_SRC_RGB = 0x80C9;
1009:
1010:            /**
1011:             * Constant for use with <code>glBlendFuncSeparate</code> 
1012:             * (<code>OES_blend_func_separate</code> extension).
1013:             */
1014:            int GL_BLEND_DST_ALPHA = 0x80CA;
1015:
1016:            /**
1017:             * Constant for use with <code>glBlendFuncSeparate</code> 
1018:             * (<code>OES_blend_func_separate</code> extension).
1019:             */
1020:            int GL_BLEND_SRC_ALPHA = 0x80CB;
1021:
1022:            /**
1023:             * (1.1 + <code>GL_OES_blend_func_separate</code> extension)
1024:             * Apply different blend factors to RGB and alpha.
1025:             *
1026:             * <p><code>glBlendFuncSeparate</code> allows different blend factors to be
1027:             * applied to RGB and alpha. The blend factors are those defined for
1028:             * <code>glBlendFunc</code>.
1029:             *
1030:             * <h4>Errors</h4>
1031:             *
1032:             * <p><code>GL_INVALID_ENUM</code> is generated if
1033:             * <code>srcRGB</code>, <code>dstRGB</code>, <code>srcAlpha</code>,
1034:             * or <code>dstAlpha</code> is not an accepted value.
1035:             *
1036:             * <h4>Associated Gets</h4>
1037:             *
1038:             * <p><code>glGetIntegerv</code> with argument
1039:             * <code>GL_BLEND_SRC_RGB</code> or <code>GL_BLEND_SRC</code>
1040:             * returns the source RGB blend function.
1041:             *
1042:             * <p><code>glGetIntegerv</code> with argument
1043:             * <code>GL_BLEND_DST_RGB</code> or <code>GL_BLEND_DST</code>
1044:             * returns the destination RGB blend function.
1045:             *
1046:             * <p><code>glGetIntegerv</code> with argument
1047:             * <code>GL_BLEND_SRC_ALPHA</code> returns the source alpha blend
1048:             * function.
1049:             *
1050:             * <p><code>glGetIntegerv</code> with argument
1051:             * <code>GL_BLEND_DST_ALPHA</code> returns the destination alpha
1052:             * blend function.
1053:             *
1054:             * @param srcRGB Source RGB blend function. Must be one of the blend
1055:             * functions accepted by <code>glBlendFunc</code>.
1056:             * @param dstRGB Destination RGB blend function. Must be one of the blend
1057:             * functions accepted by <code>glBlendFunc</code>.
1058:             * @param srcAlpha Source alpha blend function. Must be one of the
1059:             * blend functions accepted by <code>glBlendFunc</code>.
1060:             * @param dstAlpha Destination alpha blend function. Must be one of
1061:             * the blend functions accepted by <code>glBlendFunc</code>.
1062:             *
1063:             * @see GL11#glBlendFunc
1064:             *
1065:             * @exception UnsupportedOperationException if the underlying
1066:             * runtime engine does not support the
1067:             * <code>OES_blend_func_separate</code> extension.
1068:             */
1069:            void glBlendFuncSeparate(int srcRGB, int dstRGB, int srcAlpha,
1070:                    int dstAlpha);
1071:
1072:            //   /**
1073:            //    * Flag indicating the presence of the "blend equation separate"
1074:            //    * extension.  <code>OES_blend_equation_separate</code> is an
1075:            //    * optional profile extension in OpenGL ES 1.1, and is part of the
1076:            //    * OpenGL ES 1.1 Extension Pack.
1077:            //    *
1078:            //    * <p> The value of this flag does not imply the presence
1079:            //    * of the extension in the runtime enviroment.
1080:            //    */
1081:            //   int GL_OES_blend_equation_separate                      = 1;
1082:
1083:            /**
1084:             * Constant for use with <code>glBlendEquationSeparate</code> and
1085:             * <code>glGetInteger</code>
1086:             * (<code>OES_blend_equation_separate</code> extension).
1087:             */
1088:            int GL_BLEND_EQUATION = 0x8009;
1089:
1090:            /**
1091:             * Constant for use with <code>glBlendEquationSeparate</code> and
1092:             * <code>glGetInteger</code>
1093:             * (<code>OES_blend_equation_separate</code> extension).  Synonym
1094:             * for <code>GL_BLEND_EQUATION</code>.
1095:             */
1096:            int GL_BLEND_EQUATION_RGB = 0x8009;
1097:
1098:            /**
1099:             * Constant for use with <code>glBlendEquationSeparate</code> and
1100:             * <code>glGetInteger</code>
1101:             * (<code>OES_blend_equation_separate</code> extension).
1102:             */
1103:            int GL_BLEND_EQUATION_ALPHA = 0x883D;
1104:
1105:            /**
1106:             * (1.1 + <code>OES_blend_equation_separate</code> extension)
1107:             * Provide different blend equations for RGB and alpha.
1108:             *
1109:             * <p><code>glBlendEquationSeparate</code> allows different blend
1110:             * equations to be provideded for RGB and alpha. The blend equations
1111:             * are those defined for <code>glBlendEquation</code>.
1112:             *
1113:             * <h4>Errors</h4>
1114:             *
1115:             * <p><code>GL_INVALID_ENUM</code> is generated if
1116:             * <code>modeRGB</code>, or <code>modeAlpha</code> is not an
1117:             * accepted value.
1118:             *
1119:             * <h4>Associated Gets</h4>
1120:             *
1121:             * <p><code>glGetIntegerv</code> with argument
1122:             * <code>GL_BLEND_EQUATION_RGB</code> or
1123:             * <code>GL_BLEND_EQUATION</code> returns the RGB blend equation.
1124:             *
1125:             * <p><code>glGetIntegerv</code> with argument
1126:             * <code>GL_BLEND_EQUATION_ALPHA</code> returns the alpha blend
1127:             * equation.
1128:             *
1129:             * @param modeRGB RGB blend equation. Must be one of the blend
1130:             * equations accepted by <code>glBlendEquation</code>.
1131:             * @param modeAlpha Alpha blend equation. Must be one of the blend
1132:             * equations accepted by <code>glBlendEquation</code>.
1133:             *
1134:             * @see #glBlendEquation
1135:             *
1136:             * @exception UnsupportedOperationException if the underlying
1137:             * runtime engine does not support the
1138:             * <code>OES_blend_equation_separate</code> extension.
1139:             */
1140:            void glBlendEquationSeparate(int modeRGB, int modeAlpha);
1141:
1142:            //   /**
1143:            //    * Flag indicating the presence of the "stencil wrap" extension.
1144:            //    * <code>OES_stencil_wrap</code> is an optional profile extension in
1145:            //    * OpenGL ES 1.1, and is part of the OpenGL ES 1.1 Extension Pack.
1146:            //    *
1147:            //    * <p> The value of this flag does not imply the presence of the
1148:            //    * extension in the runtime enviroment. 
1149:            //   */
1150:            //   int GL_OES_stencil_wrap                                 = 1;
1151:
1152:            /**
1153:             * Constant for use with <code>glStencilOp</code>
1154:             * (<code>OES_stencil_wrap</code> extension).
1155:             */
1156:            int GL_INCR_WRAP = 0x8507;
1157:
1158:            /**
1159:             * Constant for use with <code>glStencilOp</code>
1160:             * (<code>OES_stencil_wrap</code> extension).
1161:             */
1162:            int GL_DECR_WRAP = 0x8508;
1163:
1164:            /**
1165:             * (<code>OES_stencil_wrap</code> extension)
1166:             * Set stencil test actions.
1167:             *
1168:             * <p> Two additional actions are defined by the
1169:             * <code>OES_stencil_wrap</code> extension:
1170:             *
1171:             * <ul>
1172:             * 
1173:             * <li>(<code>OES_stencil_wrap</code> extension)
1174:             * <code>GL_DECR_WRAP</code></li>
1175:             *
1176:             * <p>Decrements the current stencil buffer value, wrapping around
1177:             * to the maximum representable unsigned value if less than 0.
1178:             *
1179:             * <li>(<code>OES_stencil_wrap</code> extension)
1180:             * <code>GL_INCR</code></li>
1181:             *
1182:             * <p>Increments the current stencil buffer value, wrapping around
1183:             * to 0 if greater than the maximum representable unsigned value.
1184:             *
1185:             * </ul>
1186:             *
1187:             * @see GL11#glStencilOp(int fail, int zfail, int zpass)
1188:             */
1189:            void glStencilOp(int fail, int zfail, int zpass);
1190:
1191:            //   /**
1192:            //    * Flag indicating the presence of the "extended matrix palette"
1193:            //    * extension. <code>OES_extended_matrix_palette</code> is an
1194:            //    * optional profile extension in OpenGL ES 1.1, and is part of the
1195:            //    * OpenGL ES 1.1 Extension Pack.
1196:            //    *
1197:            //    * <p> The value of this flag does not imply the presence of the
1198:            //    * extension in the runtime enviroment. 
1199:            //    */
1200:            //   int GL_OES_extended_matrix_palette                      = 1;
1201:
1202:            //   /**
1203:            //    * Flag indicating the presence of the "framebuffer object"
1204:            //    * extension.  <code>OES_framebuffer_object</code> is an optional
1205:            //    * profile extension in OpenGL ES 1.1, and is part of the OpenGL ES
1206:            //    * 1.1 Extension Pack.
1207:            //    *
1208:            //    * <p> The value of this flag does not imply the presence of the
1209:            //    * extension in the runtime enviroment.
1210:            //    */
1211:            //   int GL_OES_framebuffer_object                           = 1;
1212:
1213:            /**
1214:             * Constant accepted by the <code>target</code> parameter of
1215:             * <code>glBindFramebufferOES</code>,
1216:             * <code>glCheckFramebufferStatusOES</code>,
1217:             * <code>glFramebufferTexture2DOES</code>,
1218:             * <code>glFramebufferRenderbufferOES</code>, and
1219:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1220:             * (<code>OES_framebuffer_object</code> extension).
1221:             */
1222:            int GL_FRAMEBUFFER_OES = 0x8D40;
1223:
1224:            /**
1225:             * Constant accepted by the <code>target</code> parameter of
1226:             * <code>glBindRenderbufferOES</code>,
1227:             * <code>glRenderbufferStorageOES</code>, and
1228:             * <code>glGetRenderbufferParameterivOES</code>, and returned by
1229:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1230:             * (<code>OES_framebuffer_object</code> extension).
1231:             */
1232:            int GL_RENDERBUFFER_OES = 0x8D41;
1233:
1234:            /**
1235:             * Constant accepted by the <code>pname</code> parameter of
1236:             * <code>glGetRenderbufferParameterivOES</code>
1237:             * (<code>OES_framebuffer_object</code> extension).
1238:             */
1239:            int GL_RENDERBUFFER_WIDTH_OES = 0x8D42;
1240:
1241:            /**
1242:             * Constant accepted by the <code>pname</code> parameter of
1243:             * <code>glGetRenderbufferParameterivOES</code>
1244:             * (<code>OES_framebuffer_object</code> extension).
1245:             */
1246:            int GL_RENDERBUFFER_HEIGHT_OES = 0x8D43;
1247:
1248:            /**
1249:             * Constant accepted by the <code>pname</code> parameter of
1250:             * <code>glGetRenderbufferParameterivOES</code>
1251:             * (<code>OES_framebuffer_object</code> extension).
1252:             */
1253:            int GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44;
1254:
1255:            /**
1256:             * Constant accepted by the <code>pname</code> parameter of
1257:             * <code>glGetRenderbufferParameterivOES</code>
1258:             * (<code>OES_framebuffer_object</code> extension).
1259:             */
1260:            int GL_RENDERBUFFER_RED_SIZE_OES = 0x8D50;
1261:
1262:            /**
1263:             * Constant accepted by the <code>pname</code> parameter of
1264:             * <code>glGetRenderbufferParameterivOES</code>
1265:             * (<code>OES_framebuffer_object</code> extension).
1266:             */
1267:            int GL_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51;
1268:
1269:            /**
1270:             * Constant accepted by the <code>pname</code> parameter of
1271:             * <code>glGetRenderbufferParameterivOES</code>
1272:             * (<code>OES_framebuffer_object</code> extension).
1273:             */
1274:            int GL_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52;
1275:
1276:            /**
1277:             * Constant accepted by the <code>pname</code> parameter of
1278:             * <code>glGetRenderbufferParameterivOES</code>
1279:             * (<code>OES_framebuffer_object</code> extension).
1280:             */
1281:            int GL_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53;
1282:
1283:            /**
1284:             * Constant accepted by the <code>pname</code> parameter of
1285:             * <code>glGetRenderbufferParameterivOES</code>
1286:             * (<code>OES_framebuffer_object</code> extension).
1287:             */
1288:            int GL_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54;
1289:
1290:            /**
1291:             * Constant accepted by the <code>pname</code> parameter of
1292:             * <code>glGetRenderbufferParameterivOES</code>
1293:             * (<code>OES_framebuffer_object</code> extension).
1294:             */
1295:            int GL_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55;
1296:
1297:            /**
1298:             * Constant accepted by the <code>pname</code> parameter of
1299:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1300:             * (<code>OES_framebuffer_object</code> extension).
1301:             */
1302:            int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0;
1303:
1304:            /**
1305:             * Constant accepted by the <code>pname</code> parameter of
1306:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1307:             * (<code>OES_framebuffer_object</code> extension).
1308:             */
1309:            int GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1;
1310:
1311:            /**
1312:             * Constant accepted by the <code>pname</code> parameter of
1313:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1314:             * (<code>OES_framebuffer_object</code> extension).
1315:             */
1316:            int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2;
1317:
1318:            /**
1319:             * Constant accepted by the <code>pname</code> parameter of
1320:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1321:             * (<code>OES_framebuffer_object</code> extension).
1322:             */
1323:            int GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3;
1324:
1325:            /**
1326:             * Constant accepted by the <code>attachment</code> parameter of
1327:             * <code>glFramebufferTexture2DOES</code>,
1328:             * <code>glFramebufferRenderbufferOES</code>, and
1329:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1330:             * (<code>OES_framebuffer_object</code> extension).
1331:             */
1332:            int GL_COLOR_ATTACHMENT0_OES = 0x8CE0;
1333:
1334:            /**
1335:             * Constant accepted by the <code>attachment</code> parameter of
1336:             * <code>glFramebufferTexture2DOES</code>,
1337:             * <code>glFramebufferRenderbufferOES</code>, and
1338:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1339:             * (<code>OES_framebuffer_object</code> extension).
1340:             */
1341:            int GL_COLOR_ATTACHMENT1_OES = 0x8CE1;
1342:
1343:            /**
1344:             * Constant accepted by the <code>attachment</code> parameter of
1345:             * <code>glFramebufferTexture2DOES</code>,
1346:             * <code>glFramebufferRenderbufferOES</code>, and
1347:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1348:             * (<code>OES_framebuffer_object</code> extension).
1349:             */
1350:            int GL_COLOR_ATTACHMENT2_OES = 0x8CE2;
1351:
1352:            /**
1353:             * Constant accepted by the <code>attachment</code> parameter of
1354:             * <code>glFramebufferTexture2DOES</code>,
1355:             * <code>glFramebufferRenderbufferOES</code>, and
1356:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1357:             * (<code>OES_framebuffer_object</code> extension).
1358:             */
1359:            int GL_COLOR_ATTACHMENT3_OES = 0x8CE3;
1360:
1361:            /**
1362:             * Constant accepted by the <code>attachment</code> parameter of
1363:             * <code>glFramebufferTexture2DOES</code>,
1364:             * <code>glFramebufferRenderbufferOES</code>, and
1365:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1366:             * (<code>OES_framebuffer_object</code> extension).
1367:             */
1368:            int GL_COLOR_ATTACHMENT4_OES = 0x8CE4;
1369:
1370:            /**
1371:             * Constant accepted by the <code>attachment</code> parameter of
1372:             * <code>glFramebufferTexture2DOES</code>,
1373:             * <code>glFramebufferRenderbufferOES</code>, and
1374:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1375:             * (<code>OES_framebuffer_object</code> extension).
1376:             */
1377:            int GL_COLOR_ATTACHMENT5_OES = 0x8CE5;
1378:
1379:            /**
1380:             * Constant accepted by the <code>attachment</code> parameter of
1381:             * <code>glFramebufferTexture2DOES</code>,
1382:             * <code>glFramebufferRenderbufferOES</code>, and
1383:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1384:             * (<code>OES_framebuffer_object</code> extension).
1385:             */
1386:            int GL_COLOR_ATTACHMENT6_OES = 0x8CE6;
1387:
1388:            /**
1389:             * Constant accepted by the <code>attachment</code> parameter of
1390:             * <code>glFramebufferTexture2DOES</code>,
1391:             * <code>glFramebufferRenderbufferOES</code>, and
1392:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1393:             * (<code>OES_framebuffer_object</code> extension).
1394:             */
1395:            int GL_COLOR_ATTACHMENT7_OES = 0x8CE7;
1396:
1397:            /**
1398:             * Constant accepted by the <code>attachment</code> parameter of
1399:             * <code>glFramebufferTexture2DOES</code>,
1400:             * <code>glFramebufferRenderbufferOES</code>, and
1401:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1402:             * (<code>OES_framebuffer_object</code> extension).
1403:             */
1404:            int GL_COLOR_ATTACHMENT8_OES = 0x8CE8;
1405:
1406:            /**
1407:             * Constant accepted by the <code>attachment</code> parameter of
1408:             * <code>glFramebufferTexture2DOES</code>,
1409:             * <code>glFramebufferRenderbufferOES</code>, and
1410:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1411:             * (<code>OES_framebuffer_object</code> extension).
1412:             */
1413:            int GL_COLOR_ATTACHMENT9_OES = 0x8CE9;
1414:
1415:            /**
1416:             * Constant accepted by the <code>attachment</code> parameter of
1417:             * <code>glFramebufferTexture2DOES</code>,
1418:             * <code>glFramebufferRenderbufferOES</code>, and
1419:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1420:             * (<code>OES_framebuffer_object</code> extension).
1421:             */
1422:            int GL_COLOR_ATTACHMENT10_OES = 0x8CEA;
1423:
1424:            /**
1425:             * Constant accepted by the <code>attachment</code> parameter of
1426:             * <code>glFramebufferTexture2DOES</code>,
1427:             * <code>glFramebufferRenderbufferOES</code>, and
1428:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1429:             * (<code>OES_framebuffer_object</code> extension).
1430:             */
1431:            int GL_COLOR_ATTACHMENT11_OES = 0x8CEB;
1432:
1433:            /**
1434:             * Constant accepted by the <code>attachment</code> parameter of
1435:             * <code>glFramebufferTexture2DOES</code>,
1436:             * <code>glFramebufferRenderbufferOES</code>, and
1437:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1438:             * (<code>OES_framebuffer_object</code> extension).
1439:             */
1440:            int GL_COLOR_ATTACHMENT12_OES = 0x8CEC;
1441:
1442:            /**
1443:             * Constant accepted by the <code>attachment</code> parameter of
1444:             * <code>glFramebufferTexture2DOES</code>,
1445:             * <code>glFramebufferRenderbufferOES</code>, and
1446:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1447:             * (<code>OES_framebuffer_object</code> extension).
1448:             */
1449:            int GL_COLOR_ATTACHMENT13_OES = 0x8CED;
1450:
1451:            /**
1452:             * Constant accepted by the <code>attachment</code> parameter of
1453:             * <code>glFramebufferTexture2DOES</code>,
1454:             * <code>glFramebufferRenderbufferOES</code>, and
1455:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1456:             * (<code>OES_framebuffer_object</code> extension).
1457:             */
1458:            int GL_COLOR_ATTACHMENT14_OES = 0x8CEE;
1459:
1460:            /**
1461:             * Constant accepted by the <code>attachment</code> parameter of
1462:             * <code>glFramebufferTexture2DOES</code>,
1463:             * <code>glFramebufferRenderbufferOES</code>, and
1464:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1465:             * (<code>OES_framebuffer_object</code> extension).
1466:             */
1467:            int GL_COLOR_ATTACHMENT15_OES = 0x8CEF;
1468:
1469:            /**
1470:             * Constant accepted by the <code>attachment</code> parameter of
1471:             * <code>glFramebufferTexture2DOES</code>,
1472:             * <code>glFramebufferRenderbufferOES</code>, and
1473:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1474:             * (<code>OES_framebuffer_object</code> extension).
1475:             */
1476:            int GL_DEPTH_ATTACHMENT_OES = 0x8D00;
1477:
1478:            /**
1479:             * Constant accepted by the <code>attachment</code> parameter of
1480:             * <code>glFramebufferTexture2DOES</code>,
1481:             * <code>glFramebufferRenderbufferOES</code>, and
1482:             * <code>glGetFramebufferAttachmentParameterivOES</code>
1483:             * (<code>OES_framebuffer_object</code> extension).
1484:             */
1485:            int GL_STENCIL_ATTACHMENT_OES = 0x8D20;
1486:
1487:            /**
1488:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1489:             * (<code>OES_framebuffer_object</code> extension).
1490:             */
1491:            int GL_FRAMEBUFFER_COMPLETE_OES = 0x8CD5;
1492:
1493:            /**
1494:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1495:             * (<code>OES_framebuffer_object</code> extension).
1496:             */
1497:            int GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6;
1498:
1499:            /**
1500:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1501:             * (<code>OES_framebuffer_object</code> extension).
1502:             */
1503:            int GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7;
1504:
1505:            /**
1506:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1507:             * (<code>OES_framebuffer_object</code> extension).
1508:             */
1509:            int GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9;
1510:
1511:            /**
1512:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1513:             * (<code>OES_framebuffer_object</code> extension).
1514:             */
1515:            int GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA;
1516:
1517:            /**
1518:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1519:             * (<code>OES_framebuffer_object</code> extension).
1520:             */
1521:            int GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB;
1522:
1523:            /**
1524:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1525:             * (<code>OES_framebuffer_object</code> extension).
1526:             */
1527:            int GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC;
1528:
1529:            /**
1530:             * Constant returned by <code>glCheckFramebufferStatusOES</code>
1531:             * (<code>OES_framebuffer_object</code> extension).
1532:             */
1533:            int GL_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD;
1534:
1535:            /**
1536:             * Constant accepted by <code>glGetIntegerv</code>
1537:             * (<code>OES_framebuffer_object</code> extension).
1538:             */
1539:            int GL_FRAMEBUFFER_BINDING_OES = 0x8CA6;
1540:
1541:            /**
1542:             * Constant accepted by <code>glGetIntegerv</code>
1543:             * (<code>OES_framebuffer_object</code> extension).
1544:             */
1545:            int GL_RENDERBUFFER_BINDING_OES = 0x8CA7;
1546:
1547:            /**
1548:             * Constant accepted by <code>glGetIntegerv</code>
1549:             * (<code>OES_framebuffer_object</code> extension).
1550:             */
1551:            int GL_MAX_COLOR_ATTACHMENTS_OES = 0x8CDF;
1552:
1553:            /**
1554:             * Constant accepted by <code>glGetIntegerv</code>
1555:             * (<code>OES_framebuffer_object</code> extension).
1556:             */
1557:            int GL_MAX_RENDERBUFFER_SIZE_OES = 0x84E8;
1558:
1559:            /**
1560:             * Constant returned by <code>glGetError</code>
1561:             * (<code>OES_framebuffer_object</code> extension).
1562:             */
1563:            int GL_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506;
1564:
1565:            /**
1566:             * Constant accepted by the <code>internalformat</code> parameter of
1567:             * <code>glRenderbufferStorageOES</code>
1568:             * (<code>OES_framebuffer_object</code> extension).
1569:             */
1570:            int GL_RGB565_OES = 0x8D62;
1571:
1572:            /**
1573:             * Constant accepted by the <code>internalformat</code> parameter of
1574:             * <code>glRenderbufferStorageOES</code>
1575:             * (<code>OES_framebuffer_object</code> extension).
1576:             */
1577:            int GL_RGBA4 = 0x8056;
1578:
1579:            /**
1580:             * Constant accepted by the <code>internalformat</code> parameter of
1581:             * <code>glRenderbufferStorageOES</code>
1582:             * (<code>OES_framebuffer_object</code> extension).
1583:             */
1584:            int GL_RGB5_A1 = 0x8057;
1585:
1586:            /**
1587:             * Constant accepted by the <code>internalformat</code> parameter of
1588:             * <code>glRenderbufferStorageOES</code>
1589:             * (<code>OES_framebuffer_object</code> extension).
1590:             */
1591:            int GL_DEPTH_COMPONENT16 = 0x81A5;
1592:
1593:            /**
1594:             * Constant optionally accepted by the <code>internalformat</code>
1595:             * parameter of <code>glRenderbufferStorageOES</code>
1596:             * (<code>OES_framebuffer_object</code> extension).
1597:             */
1598:            int GL_RGBA8 = 0x8058;
1599:
1600:            /**
1601:             * Constant optionally accepted by the <code>internalformat</code>
1602:             * parameter of <code>glRenderbufferStorageOES</code>
1603:             * (<code>OES_framebuffer_object</code> extension).
1604:             */
1605:            int GL_RGB8 = 0x8051;
1606:
1607:            /**
1608:             * Constant optionally accepted by the <code>internalformat</code>
1609:             * parameter of <code>glRenderbufferStorageOES</code>
1610:             * (<code>OES_framebuffer_object</code> extension).
1611:             */
1612:            int GL_DEPTH_COMPONENT24 = 0x81A6;
1613:
1614:            /**
1615:             * Constant optionally accepted by the <code>internalformat</code>
1616:             * parameter of <code>glRenderbufferStorageOES</code>
1617:             * (<code>OES_framebuffer_object</code> extension).
1618:             */
1619:            int GL_DEPTH_COMPONENT32 = 0x81A7;
1620:
1621:            /**
1622:             * Constant optionally accepted by the <code>internalformat</code>
1623:             * parameter of <code>glRenderbufferStorageOES</code>
1624:             * (<code>OES_framebuffer_object</code> extension).
1625:             */
1626:            int GL_STENCIL_INDEX1_OES = 0x8D46;
1627:
1628:            /**
1629:             * Constant optionally accepted by the <code>internalformat</code>
1630:             * parameter of <code>glRenderbufferStorageOES</code>
1631:             * (<code>OES_framebuffer_object</code> extension).
1632:             */
1633:            int GL_STENCIL_INDEX4_OES = 0x8D47;
1634:
1635:            /**
1636:             * Constant optionally accepted by the <code>internalformat</code>
1637:             * parameter of <code>glRenderbufferStorageOES</code>
1638:             * (<code>OES_framebuffer_object</code> extension).
1639:             */
1640:            int GL_STENCIL_INDEX8_OES = 0x8D48;
1641:
1642:            /*
1643:             int GL_STENCIL_INDEX16_OES                              = 0x8D49;
1644:             */
1645:
1646:            /**
1647:             * Constant (<code>OES_framebuffer_object</code> extension).
1648:             */
1649:            int GL_STENCIL_INDEX = 0x1901;
1650:
1651:            /**
1652:             * Constant (<code>OES_framebuffer_object</code> extension).
1653:             */
1654:            int GL_DEPTH_COMPONENT = 0x1902;
1655:
1656:            /**
1657:             * (<code>OES_framebuffer_object</code> extension) Determine whether a
1658:             * token represents a renderbuffer.
1659:             *
1660:             * <p> Returns <code>true</code> if <code>renderbuffer</code> is the
1661:             * name of a renderbuffer object.  If <code>renderbuffer</code> is
1662:             * zero, or if <code>renderbuffer</code> is a non-zero value that is
1663:             * not the name of a renderbuffer object,
1664:             * <code>glIsRenderbufferOES</code> returns <code>false</code>.
1665:             *
1666:             * @param renderbuffer an integer.
1667:             *
1668:             * @exception UnsupportedOperationException if the underlying
1669:             * runtime engine does not support the
1670:             * <code>OES_framebuffer_object</code> extension.
1671:             */
1672:            boolean glIsRenderbufferOES(int renderbuffer);
1673:
1674:            /**
1675:             * (<code>OES_framebuffer_object</code> extension)
1676:             * Bind a renderbuffer.
1677:             *
1678:
1679:             * <p> A renderbuffer is a data storage object containing a single
1680:             * image of a renderable internal format.  GL provides the methods
1681:             * described below to allocate and delete a renderbuffer's image,
1682:             * and to attach a renderbuffer's image to a framebuffer object.
1683:             *
1684:             * <p> The name space for renderbuffer objects is the unsigned
1685:             * integers, with zero reserved for the GL.  A renderbuffer object
1686:             * is created by binding an unused name to
1687:             * <code>GL_RENDERBUFFER_OES</code>.  The binding is effected by
1688:             * setting <code>target</code> to <code>GL_RENDERBUFFER_OES</code>
1689:             * and <code>renderbuffer</code> set to the unused name.  If
1690:             * <code>renderbuffer</code> is not zero, then the resulting
1691:             * renderbuffer object is a new state vector, initialized with a
1692:             * zero-sized memory buffer, and comprising the state values listed
1693:             * in Table 8.nnn of the <code>EXT_framebuffer_object</code>
1694:             * specification.  Any previous binding to <code>target</code> is
1695:             * broken.
1696:             *
1697:             * <p> <code>glBindRenderbufferOES</code> may also be used to bind an
1698:             * existing renderbuffer object.  If the bind is successful, no
1699:             * change is made to the state of the newly bound renderbuffer
1700:             * object, and any previous binding to <code>target</code> is
1701:             * broken.
1702:             *
1703:             * <p> While a renderbuffer object is bound, GL operations on the target
1704:             * to which it is bound affect the bound renderbuffer object, and
1705:             * queries of the target to which a renderbuffer object is bound
1706:             * return state from the bound object.
1707:             *
1708:             * <p> The name zero is reserved.  A renderbuffer object cannot be
1709:             * created with the name zero.  If <code>renderbuffer</code> is
1710:             * zero, then any previous binding to <code>target</code> is broken
1711:             * and the <code>target</code> binding is restored to the initial
1712:             * state.
1713:             *
1714:             * <p> In the initial state, the reserved name zero is bound to
1715:             * <code>GL_RENDERBUFFER_OES</code>.  There is no renderbuffer
1716:             * object corresponding to the name zero, so client attempts to
1717:             * modify or query renderbuffer state for the target
1718:             * <code>GL_RENDERBUFFER_OES</code> while zero is bound will
1719:             * generate GL errors.
1720:             *
1721:             * <p> Using <code>glGetIntegerv</code>, the current
1722:             * <code>GL_RENDERBUFFER_OES</code> binding can be queried as
1723:             * <code>GL_RENDERBUFFER_BINDING_OES</code>.
1724:             *
1725:             * @param target the value <code>GL_RENDERBUFFER_OES</code>.
1726:             * @param renderbuffer Specifies the name of a renderbuffer.
1727:             *
1728:             * @exception UnsupportedOperationException if the underlying
1729:             * runtime engine does not support the
1730:             * <code>OES_framebuffer_object</code> extension.
1731:             */
1732:            void glBindRenderbufferOES(int target, int renderbuffer);
1733:
1734:            /**
1735:             * (<code>OES_framebuffer_object</code> extension)
1736:             * Delete a renderbuffer.
1737:             *
1738:             * <p> Renderbuffer objects are deleted by calling
1739:             * glDeleteRenderbuffersOES where <code>renderbuffers</code>
1740:             * contains <code>n</code> names of renderbuffer objects to be
1741:             * deleted.  After a renderbuffer object is deleted, it has no
1742:             * contents, and its name is again unused.  If a renderbuffer that
1743:             * is currently bound to <code>GL_RENDERBUFFER_OES</code> is
1744:             * deleted, it is as though <code>glBindRenderbufferOES</code> had
1745:             * been executed with the <code>target</code>
1746:             * <code>GL_RENDERBUFFER_OES</code> and <code>name</code> of zero.
1747:             * Additionally, special care must be taken when deleting a
1748:             * renderbuffer if the image of the renderbuffer is attached to a
1749:             * framebuffer object.  Unused names in
1750:             * <code>renderbuffers</code> are silently ignored, as is the value
1751:             * zero.
1752:             *
1753:             * @param n the number of renderbuffers to be deleted.
1754:             * @param renderbuffers an array of <code>n</code> renderbuffer names.
1755:             * @param offset the starting offset within the
1756:             * <code>renderbuffers</code> array.
1757:             *
1758:             * @exception UnsupportedOperationException if the underlying
1759:             * runtime engine does not support the
1760:             * <code>OES_framebuffer_object</code> extension.
1761:             * @exception IllegalArgumentException if <code>renderbuffers</code> is
1762:             * <code>null</code>.
1763:             * @exception IllegalArgumentException if <code>offset</code> is
1764:             * less than 0.
1765:             * @exception IllegalArgumentException if <code>renderbuffers.length
1766:             * - offset</code> is less than <code>n</code>.
1767:             */
1768:            void glDeleteRenderbuffersOES(int n, int[] renderbuffers, int offset);
1769:
1770:            /**
1771:             * (<code>OES_framebuffer_object</code> extension)
1772:             * Integer <code>Buffer</code> version of
1773:             * <code>glDeleteRenderbuffersOES</code>.
1774:             *
1775:             * @see #glDeleteRenderbuffersOES(int n, int[] renderbuffers, int offset)
1776:             *
1777:             * @param n the number of renderbuffers to be deleted.
1778:             * @param renderbuffers an <code>IntBuffer</code> containing
1779:             * renderbuffer names.
1780:             *
1781:             * @exception UnsupportedOperationException if the underlying
1782:             * runtime engine does not support the
1783:             * <code>OES_framebuffer_object</code> extension.
1784:             * @exception IllegalArgumentException if <code>renderbuffers</code> is
1785:             * <code>null</code>.
1786:             * @exception IllegalArgumentException if
1787:             * <code>renderbuffers.limit() - renderbuffers.position()</code> is
1788:             * less than <code>n</code>.
1789:             */
1790:            void glDeleteRenderbuffersOES(int n, IntBuffer renderbuffers);
1791:
1792:            /**
1793:             * (<code>OES_framebuffer_object</code> extension)
1794:             * Generate renderbuffer names.
1795:             *
1796:             * <p> The command <code>glGenRenderbuffersOES</code> returns
1797:             * <code>n</code> previously unused renderbuffer object names in
1798:             * <code>renderbuffers</code>.  These names are marked as used, for
1799:             * the purposes of <code>glGenRenderbuffersOES</code> only, but they
1800:             * acquire renderbuffer state only when they are first bound, just
1801:             * as if they were unused.
1802:             *
1803:             * @param n the number of renderbuffer names to be generated.
1804:             * @param renderbuffers an array to be filled in with <code>n</code>
1805:             * renderbuffer names.
1806:             * @param offset the starting offset within the
1807:             * <code>renderbuffers</code> array.
1808:             *
1809:             * @exception UnsupportedOperationException if the underlying
1810:             * runtime engine does not support the
1811:             * <code>OES_framebuffer_object</code> extension.
1812:             * @exception IllegalArgumentException if <code>renderbuffers</code> is
1813:             * <code>null</code>.
1814:             * @exception IllegalArgumentException if <code>offset</code> is
1815:             * less than 0.
1816:             * @exception IllegalArgumentException if <code>renderbuffers.length
1817:             * - offset</code> is less than <code>n</code>.
1818:             */
1819:            void glGenRenderbuffersOES(int n, int[] renderbuffers, int offset);
1820:
1821:            /**
1822:             * (<code>OES_framebuffer_object</code> extension)
1823:             * Integer <code>Buffer</code> version of
1824:             * <code>glGenRenderbuffersOES</code>.
1825:             *
1826:             * @see #glGenRenderbuffersOES(int n, int[] renderbuffers, int offset)
1827:             *
1828:             * @param n the number of renderbuffer names to be generated.
1829:             * @param renderbuffers an <code>IntBuffer</code> to be filled in
1830:             * with <code>n</code> renderbuffer names.
1831:             *
1832:             * @exception UnsupportedOperationException if the underlying
1833:             * runtime engine does not support the
1834:             * <code>OES_framebuffer_object</code> extension.
1835:             * @exception IllegalArgumentException if <code>renderbuffers</code> is
1836:             * <code>null</code>.
1837:             * @exception IllegalArgumentException if
1838:             * <code>renderbuffers.limit() - renderbuffers.position()</code> is
1839:             * less than <code>n</code>.
1840:             */
1841:            void glGenRenderbuffersOES(int n, IntBuffer renderbuffers);
1842:
1843:            /**
1844:             * (<code>OES_framebuffer_object</code> extension)
1845:             * Establish the layout of a renderbuffer object's image.
1846:             *
1847:             * <p> The command <code>glRenderbufferStorageOES</code> establishes
1848:             * the data storage, format, and dimensions of a renderbuffer
1849:             * object's image.  <code>target</code> must be
1850:             * <code>GL_RENDERBUFFER_OES</code>.  <code>internalformat</code>
1851:             * must be one of the sized internal formats from the following
1852:             * tables which has a base internal format of <code>GL_RGB</code>,
1853:             * <code>GL_RGBA</code>, <code>GL_DEPTH_COMPONENT</code>, or
1854:             * <code>GL_STENCIL_INDEX</code>.
1855:             *
1856:             * <p> The following formats are required:
1857:             *
1858:             * <pre>
1859:             * Sized                 Base               Size in
1860:             * Internal Format       Internal format    Bits
1861:             * ---------------       ---------------    ----
1862:             * RGB565_OES            RGB                16
1863:             * RGBA4                 RGBA               16
1864:             * RGB5_A1               RGBA               16
1865:             * DEPTH_COMPONENT_16    DEPTH_COMPONENT    16
1866:             * </pre>
1867:             *
1868:             * <p> The following formats are optional:
1869:             *
1870:             * <pre>
1871:             * Sized                 Base               Size in
1872:             * Internal Format       Internal format    Bits
1873:             * ---------------       ---------------    ----
1874:             * RGBA8                 RGBA               32
1875:             * RGB8                  RGB                24
1876:             * DEPTH_COMPONENT_24    DEPTH_COMPONENT    24
1877:             * DEPTH_COMPONENT_32    DEPTH_COMPONENT    32
1878:             * STENCIL_INDEX1_OES    STENCIL_INDEX      1
1879:             * STENCIL_INDEX4_OES    STENCIL_INDEX      4
1880:             * STENCIL_INDEX8_OES    STENCIL_INDEX      8
1881:             * </pre>
1882:             *
1883:             * <p> The optional formats are described by the
1884:             * <code>OES_rgb8_rgba8</code>, <code>OES_depth24</code>,
1885:             * <code>OES_depth32</code>, <code>OES_stencil1</code>,
1886:             * <code>OES_stencil4</code>, and <code>OES_stencil8</code>
1887:             * extensions.
1888:             *
1889:             * <p> If <code>glRenderbufferStorageOES</code> is called with an
1890:             * <code>internalformat</code> value that is not supported by the
1891:             * OpenGL ES implementation, a <code>GL_INVALID_ENUM</code> error
1892:             * will be generated.
1893:             *
1894:             * <p> <code>width</code> and
1895:             * <code>height</code> are the dimensions in pixels of the
1896:             * renderbuffer.  If either <code>width</code> or
1897:             * <code>height</code> is greater than
1898:             * <code>GL_MAX_RENDERBUFFER_SIZE_OES</code>, then the error
1899:             * <code>GL_INVALID_VALUE</code> is generated.  If the GL is unable
1900:             * to create a data store of the requested size, the error
1901:             * <code>GL_OUT_OF_MEMORY</code> is
1902:             * generated. <code>glRenderbufferStorageOES</code> deletes any
1903:             * existing data store for the renderbuffer and the contents of the
1904:             * data store after calling <code>glRenderbufferStorageOES</code>
1905:             * are undefined.
1906:             *
1907:             * @param target the value <code>GL_RENDERBUFFER_OES</code>.
1908:             * @param internalformat one of <code>GL_RGB</code>,
1909:             * <code>GL_RGBA</code>, <code>GL_DEPTH_COMPONENT</code>,
1910:             * <code>GL_STENCIL_INDEX</code>, or an internal format that has one
1911:             * of those as a base format.
1912:             * @param width the width of the image.
1913:             * @param height the height of the image.
1914:             *
1915:             * @exception UnsupportedOperationException if the underlying
1916:             * runtime engine does not support the
1917:             * <code>OES_framebuffer_object</code> extension.
1918:             */
1919:            void glRenderbufferStorageOES(int target, int internalformat,
1920:                    int width, int height);
1921:
1922:            /**
1923:             * (<code>OES_framebuffer_object</code> extension)
1924:             * Query a renderbuffer parameter.
1925:             *
1926:             * <p> <code>target</code> must be <code>GL_RENDERBUFFER_OES</code>.
1927:             * <code>pname</code> must be one of the symbolic values in the
1928:             * table below.
1929:             *
1930:             * <p> If the renderbuffer currently bound to <code>target</code> is
1931:             * zero, then <code>GL_INVALID_OPERATION</code> is generated.
1932:             *
1933:             * <p> Upon successful return from
1934:             * <code>glGetRenderbufferParameterivOES</code>, if
1935:             * <code>pname</code> is <code>GL_RENDERBUFFER_WIDTH_OES</code>,
1936:             * <code>GL_RENDERBUFFER_HEIGHT_OES</code>, or
1937:             * <code>GL_RENDERBUFFER_INTERNAL_FORMAT_OES</code>, then
1938:             * <code>params</code> will contain the width in pixels, height in
1939:             * pixels, or internal format, respectively, of the image of the
1940:             * renderbuffer currently bound to <code>target</code>.
1941:             *
1942:             * <p> Upon successful return from
1943:             * <code>glGetRenderbufferParameterivOES</code>, if
1944:             * <code>pname</code> is <code>GL_RENDERBUFFER_RED_SIZE_OES</code>,
1945:             * <code>GL_RENDERBUFFER_GREEN_SIZE_OES</code>,
1946:             * <code>GL_RENDERBUFFER_BLUE_SIZE_OES</code>,
1947:             * <code>GL_RENDERBUFFER_ALPHA_SIZE_OES</code>,
1948:             * <code>GK_RENDERBUFFER_DEPTH_SIZE_OES</code>, or
1949:             * <code>GL_RENDERBUFFER_STENCIL_SIZE_OES</code>, then
1950:             * <code>params</code> will contain the actual resolutions, (not the
1951:             * resolutions specified when the image array was defined), for the
1952:             * red, green, blue, alpha depth, or stencil components,
1953:             * respectively, of the image of the renderbuffer currently bound to
1954:             * <code>target</code>.
1955:             *
1956:             * <p> Otherwise, <code>GL_INVALID_ENUM</code> is generated.
1957:             *
1958:             * <p> The values in the first column of the table below should be
1959:             * prefixed with <code>GL_RENDERBUFFER_</code> and suffixed with
1960:             * <code>OES</code>.  The get command for all values is
1961:             * <code>glGetRenderbufferParameterivOES</code>.  All take on
1962:             * positive integral values.
1963:             *
1964:             * <pre>
1965:             * Get               Initial
1966:             * Value             Value    Description
1967:             * ---------------   -------  ----------------------
1968:             * WIDTH             0        width of renderbuffer
1969:             * 
1970:             * HEIGHT            0        height of renderbuffer
1971:             *
1972:             * INTERNAL_FORMAT   GL_RGBA  internal format
1973:             *                            of renderbuffer
1974:             *
1975:             * RED_SIZE          0        size in bits of
1976:             *                            renderbuffer image's
1977:             *                            red component
1978:             *
1979:             * GREEN_SIZE        0        size in bits of
1980:             *                            renderbuffer image's
1981:             *                            green component
1982:             *
1983:             * BLUE_SIZE         0        size in bits of
1984:             *                            renderbuffer image's
1985:             *                            blue component
1986:             *
1987:             * ALPHA_SIZE        0        size in bits of
1988:             *                            renderbuffer image's
1989:             *                            alpha component
1990:             *
1991:             * DEPTH_SIZE        0        size in bits of
1992:             *                            renderbuffer image's
1993:             *                            depth component
1994:             *
1995:             * STENCIL_SIZE      0        size in bits of
1996:             *                            renderbuffer image's
1997:             *                            stencil component
1998:             * </pre>
1999:             *
2000:             * @param target the value <code>GL_RENDERBUFFER_OES</code>.
2001:             * @param pname one of <code>GL_RENDERBUFFER_WIDTH_OES</code>,
2002:             * <code>GL_RENDERBUFFER_HEIGHT_OES</code>,
2003:             * <code>GL_RENDERBUFFER_INTERNAL_FORMAT_OES</code>,
2004:             * <code>GL_RENDERBUFFER_RED_SIZE_OES</code>,
2005:             * <code>GL_RENDERBUFFER_GREEN_SIZE_OES</code>,
2006:             * <code>GL_RENDERBUFFER_BLUE_SIZE_OES</code>,
2007:             * <code>GL_RENDERBUFFER_ALPHA_SIZE_OES</code>,
2008:             * <code>GL_RENDERBUFFER_DEPTH_SIZE_OES</code>, or
2009:             * <code>GL_RENDERBUFFER_STENCIL_SIZE_OES</code>.
2010:             * @param params an array into which renderbuffer parameters will be
2011:             * written.
2012:             * @param offset the starting offset within the
2013:             * <code>params</code> array.
2014:             *
2015:             * @exception UnsupportedOperationException if the underlying
2016:             * runtime engine does not support the
2017:             * <code>OES_framebuffer_object</code> extension.
2018:             * @exception IllegalArgumentException if <code>params</code> is
2019:             * <code>null</code>.
2020:             * @exception IllegalArgumentException if <code>offset</code> is
2021:             * less than 0.
2022:             * @exception IllegalArgumentException if <code>params.length -
2023:             * offset</code> is smaller than the number of values required by
2024:             * the parameter.
2025:             */
2026:            void glGetRenderbufferParameterivOES(int target, int pname,
2027:                    int[] params, int offset);
2028:
2029:            /**
2030:             * (<code>OES_framebuffer_object</code> extension)
2031:             * Integer <code>Buffer</code> version of
2032:             * <code>glGetRenderbufferParameterivOES</code>.
2033:             *
2034:             * @see #glGetRenderbufferParameterivOES(int target, int pname,
2035:             * int[] params, int offset)
2036:             *
2037:             * @param target the value <code>GL_RENDERBUFFER_OES</code>.
2038:             * @param pname one of <code>GL_RENDERBUFFER_WIDTH_OES</code>,
2039:             * <code>GL_RENDERBUFFER_HEIGHT_OES</code>,
2040:             * <code>GL_RENDERBUFFER_INTERNAL_FORMAT_OES</code>,
2041:             * <code>GL_RENDERBUFFER_RED_SIZE_OES</code>,
2042:             * <code>GL_RENDERBUFFER_GREEN_SIZE_OES</code>,
2043:             * <code>GL_RENDERBUFFER_BLUE_SIZE_OES</code>,
2044:             * <code>GL_RENDERBUFFER_ALPHA_SIZE_OES</code>,
2045:             * <code>GL_RENDERBUFFER_DEPTH_SIZE_OES</code>, or
2046:             * <code>GL_RENDERBUFFER_STENCIL_SIZE_OES</code>.
2047:             * @param params an <code>IntBuffer</code> into which renderbuffer
2048:             * parameters will be written.
2049:             *
2050:             * @exception UnsupportedOperationException if the underlying
2051:             * runtime engine does not support the
2052:             * <code>OES_framebuffer_object</code> extension.
2053:             * @exception IllegalArgumentException if <code>params</code> is
2054:             * <code>null</code>.
2055:             * @exception IllegalArgumentException if
2056:             * <code>params.remaining()</code> is smaller than the number of
2057:             * values required by the parameter.
2058:             */
2059:            void glGetRenderbufferParameterivOES(int target, int pname,
2060:                    IntBuffer params);
2061:
2062:            /**
2063:             * (<code>OES_framebuffer_object</code> extension) Determine whether a
2064:             * token represents a framebuffer.
2065:             *
2066:             * <p> Returns <code>true</code> if <code>framebuffer</code> is the
2067:             * name of a framebuffer object.  If <code>framebuffer</code> is
2068:             * zero, or if <code>framebuffer</code> is a non-zero value that is
2069:             * not the name of a framebuffer object,
2070:             * <code>glIsFrambufferOES</code> returns <code>false</code>.
2071:             *
2072:             * @param framebuffer an integer.
2073:             *
2074:             * @exception UnsupportedOperationException if the underlying
2075:             * runtime engine does not support the
2076:             * <code>OES_framebuffer_object</code> extension.
2077:             */
2078:            boolean glIsFramebufferOES(int framebuffer);
2079:
2080:            /**
2081:             * (<code>OES_framebuffer_object</code> extension)
2082:             * Bind a framebuffer.
2083:
2084:             * <p> The operations described in chapter 4 of the OpenGL 1.5
2085:             * specification affect the images attached to the framebuffer
2086:             * object bound to the target GL_FRAMEBUFFER_OES.  By default,
2087:             * framebuffer bound to the target GL_FRAMEBUFFER_OES is zero,
2088:             * specifying the default implementation dependent framebuffer
2089:             * provided by the windowing system.  When the framebuffer bound to
2090:             * target GL_FRAMEBUFFER_OES is not zero, but instead names a
2091:             * application-created framebuffer object, then operations
2092:             * affect the application-created framebuffer object
2093:             * rather than the default framebuffer.
2094:             *
2095:             * <p> The namespace for framebuffer objects is the unsigned
2096:             * integers, with zero reserved by the GL to refer to the default
2097:             * framebuffer.  A framebuffer object is created by binding an
2098:             * unused name to the target <code>GL_FRAMEBUFFER_OES</code>.  The
2099:             * binding is effected by calling <code>glBindFramebufferOES</code>
2100:             * with <code>target</code> set to <code>GL_FRAMEBUFFER_OES</code>
2101:             * and <code>framebuffer</code> set to the unused name.  The
2102:             * resulting framebuffer object is a new state vector, comprising
2103:             * all the state values listed in the table below.  There are
2104:             * <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> color attachment
2105:             * points, plus one each for the depth and stencil attachment
2106:             * points.
2107:             *
2108:             * <code>glBindFramebufferOES</code> may also be used to bind an
2109:             * existing framebuffer object to <code>target</code>.  If the bind
2110:             * is successful no change is made to the state of the bound
2111:             * framebuffer object and any previous binding to
2112:             * <code>target</code> is broken.  The current
2113:             * <code>GL_FRAMEBUFFER_OES</code> binding can be queried using
2114:             * <code>glGetIntegerv(GL_FRAMEBUFFER_BINDING_OES)</code>.
2115:             *
2116:             * <p> While a framebuffer object is bound to the target
2117:             * <code>GL_FRAMEBUFFER_OES</code>, GL operations on the target to
2118:             * which it is bound affect the images attached to the bound
2119:             * framebuffer object, and queries of the target to which it is
2120:             * bound return state from the bound object. The framebuffer object
2121:             * bound to the target <code>GL_FRAMEBUFFER_OES</code> is used as
2122:             * the destination of fragment operations and as the source of pixel
2123:             * reads such as <code>glReadPixels</code>.
2124:             *
2125:             * In the initial state, the reserved name zero is bound to the
2126:             * target <code>GL_FRAMEBUFFER_OES</code>.  There is no
2127:             * application-created framebuffer object corresponding to the name
2128:             * zero.  Instead, the name zero refers to the
2129:             * window-system-provided framebuffer.  All queries and operations
2130:             * on the framebuffer while the name zero is bound to the target
2131:             * <code>GL_FRAMEBUFFER_OES</code> operate on this default
2132:             * framebuffer.  On some implementations, the properties of the
2133:             * default window-system-provided framebuffer can change over time
2134:             * (e.g., in response to window-system events such as attaching the
2135:             * context to a new window-system drawable.)
2136:             *
2137:             * <p> Application-created framebuffer objects (i.e., those with a
2138:             * non-zero name) differ from the default window-system-provided
2139:             * framebuffer in a few important ways.  First and foremost, unlike
2140:             * the window-system-provided framebuffer,
2141:             * application-created-framebuffers have modifiable attachment
2142:             * points for each logical buffer in the framebuffer.
2143:             * Framebuffer-attachable images can be attached to and detached
2144:             * from these attachment points.  Also, the size and format of the
2145:             * images attached to application-created framebuffers are
2146:             * controlled entirely within the GL interface, and are not affected
2147:             * by window-system events, such as pixel format selection, window
2148:             * resizes, and display mode changes.
2149:             *
2150:             * <p> Additionally, when rendering to or reading from an
2151:             * application created-framebuffer object:
2152:             *
2153:             * <ul>
2154:             *
2155:             * <li>The pixel ownership test always succeeds.  In other words,
2156:             * application-created framebuffer objects own all of their
2157:             * pixels.</li>
2158:             *
2159:             * <li>There are no visible color buffer bitplanes.  This means
2160:             * there is no color buffer corresponding to the back, front, left,
2161:             * or right color bitplanes.</li>
2162:             *
2163:             * <li>The only color buffer bitplanes are the ones defined by the
2164:             * framebuffer attachment points named
2165:             * <code>COLOR_ATTACHMENT0_OES</code> through
2166:             * <code>COLOR_ATTACHMENT</code><i>n</i><code>_OES</code>.</li>
2167:             *
2168:             * <li>The only depth buffer bitplanes are the ones defined by the
2169:             * framebuffer attachment point
2170:             * <code>DEPTH_ATTACHMENT_OES</code>.</li>
2171:             * 
2172:             * <li>The only stencil buffer bitplanes are the ones defined by the
2173:             * framebuffer attachment point
2174:             * <code>STENCIL_ATTACHMENT_OES</code>.</li>
2175:             *
2176:             * </ul>
2177:             *
2178:             * @param target the value <code>GL_FRAMEBUFFER_OES</code>.
2179:             * @param framebuffer the framebuffer to be bound.
2180:             *
2181:             * @exception UnsupportedOperationException if the underlying
2182:             * runtime engine does not support the
2183:             * <code>OES_framebuffer_object</code> extension.
2184:             */
2185:            void glBindFramebufferOES(int target, int framebuffer);
2186:
2187:            /**
2188:             * (<code>OES_framebuffer_object</code> extension)
2189:             * Delete framebuffer objects.
2190:             *
2191:             * <p> Framebuffer objects are deleted by calling
2192:             * <code>glDeleteFramebuffersOES</code>. <code>framebuffers</code>
2193:             * contains <code>n</code> names of framebuffer objects to be
2194:             * deleted.  After a framebuffer object is deleted, it has no
2195:             * attachments, and its name is again unused.  If a framebuffer that
2196:             * is currently bound to the target <code>GL_FRAMEBUFFER_OES</code>
2197:             * is deleted, it is as though <code>glBindFramebufferOES</code> had
2198:             * been executed with the <code>target</code> of
2199:             * <code>GL_FRAMEBUFFER_OES</code> and <code>framebuffer</code> of
2200:             * zero.  Unused names in <code>framebuffers</code> are silently
2201:             * ignored, as is the value zero.
2202:             *
2203:             * @param n the number of framebuffers to be deleted.
2204:             * @param framebuffers a list of framebuffers.
2205:             * @param offset the starting offset within the
2206:             * <code>framebuffers</code> array.
2207:             *
2208:             * @exception UnsupportedOperationException if the underlying
2209:             * runtime engine does not support the
2210:             * <code>OES_framebuffer_object</code> extension.
2211:             * @exception IllegalArgumentException if <code>framebuffers</code> is
2212:             * <code>null</code>.
2213:             * @exception IllegalArgumentException if <code>offset</code> is
2214:             * less than 0.
2215:             * @exception IllegalArgumentException if <code>framebuffers.length
2216:             * - offset</code> is less than <code>n</code>.
2217:             */
2218:            void glDeleteFramebuffersOES(int n, int[] framebuffers, int offset);
2219:
2220:            /**
2221:             * (<code>OES_framebuffer_object</code> extension)
2222:             * Integer <code>Buffer</code> version of
2223:             * <code>glDeleteFramebuffersOES</code>.
2224:             *
2225:             * @see #glDeleteFramebuffersOES(int n, int[] framebuffers, int offset)
2226:             *
2227:             * @param n
2228:             * @param framebuffers
2229:             *
2230:             * @exception UnsupportedOperationException if the underlying
2231:             * runtime engine does not support the
2232:             * <code>OES_framebuffer_object</code> extension.
2233:             * @exception IllegalArgumentException if <code>framebuffers</code> is
2234:             * <code>null</code>.
2235:             * @exception IllegalArgumentException if <code>framebuffers.limit()
2236:             * - framebuffers.position()</code> is less than <code>n</code>.
2237:             */
2238:            void glDeleteFramebuffersOES(int n, IntBuffer framebuffers);
2239:
2240:            /**
2241:             * (<code>OES_framebuffer_object</code> extension)
2242:             * Generate framebuffer names.
2243:             *
2244:             * <p> The command <code>glGenFramebuffersOES</code> returns
2245:             * <code>n</code> previously unused framebuffer object names in
2246:             * <code>ids</code>.  These names are marked as used, for the
2247:             * purposes of <code>glGenFramebuffersOES</code> only, but they
2248:             * acquire state and type only when they are first bound, just as if
2249:             * they were unused.
2250:             *
2251:             * @param n the number of framebuffer names to be generated.
2252:             * @param framebuffers an array to be filled in with <code>n</code>
2253:             * framebuffer names.
2254:             * @param offset the starting offset within the
2255:             * <code>framebuffers</code> array.
2256:             *
2257:             * @exception UnsupportedOperationException if the underlying
2258:             * runtime engine does not support the
2259:             * <code>OES_framebuffer_object</code> extension.
2260:             * @exception IllegalArgumentException if <code>framebuffers</code> is
2261:             * <code>null</code>.
2262:             * @exception IllegalArgumentException if <code>offset</code> is
2263:             * less than 0.
2264:             * @exception IllegalArgumentException if <code>framebuffers.length
2265:             * - offset</code> is less than <code>n</code>.
2266:             */
2267:            void glGenFramebuffersOES(int n, int[] framebuffers, int offset);
2268:
2269:            /**
2270:             * (<code>OES_framebuffer_object</code> extension)
2271:             * Integer <code>Buffer</code> version of
2272:             * <code>glGenFramebuffersOES</code>.
2273:             *
2274:             * @see #glGenFramebuffersOES(int n, int[] framebuffers, int offset)
2275:             *
2276:             * @param n the number of framebuffer names to be generated.
2277:             * @param framebuffers an <code>IntBuffer</code> to be filled in
2278:             * with <code>n</code> framebuffer names.
2279:             *
2280:             * @exception UnsupportedOperationException if the underlying
2281:             * runtime engine does not support the
2282:             * <code>OES_framebuffer_object</code> extension.
2283:             * @exception IllegalArgumentException if <code>framebuffers</code> is
2284:             * <code>null</code>.
2285:             * @exception IllegalArgumentException if <code>framebuffers.limit()
2286:             * - framebuffers.position()</code> is less than <code>n</code>.
2287:             */
2288:            void glGenFramebuffersOES(int n, IntBuffer framebuffers);
2289:
2290:            /**
2291:             * (<code>OES_framebuffer_object</code> extension)
2292:             * Check the status of a framebuffer.
2293:             *
2294:             * <p> Returns one of <code>GL_FRAMEBUFFER_COMPLETE_OES</code>,
2295:             * <code>GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES</code>,
2296:             * <code>GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES</code>,
2297:             * <code>GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES</code>,
2298:             * <code>GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES</code>,
2299:             * <code>GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES</code>, or
2300:             * <code>GL_FRAMEBUFFER_UNSUPPORTED_OES</code>.
2301:             *
2302:             * @param target a framebuffer.
2303:             *
2304:             * @exception UnsupportedOperationException if the underlying
2305:             * runtime engine does not support the
2306:             * <code>OES_framebuffer_object</code> extension.
2307:             */
2308:            int glCheckFramebufferStatusOES(int target);
2309:
2310:            /**
2311:             * (<code>OES_framebuffer_object</code> extension)
2312:             * Attach an image from a texture object to a framebuffer.
2313:             *
2314:             * <p> To render directly into a texture image, a specified image from a
2315:             * texture object can be attached as one of the logical buffers of the
2316:             * currently bound framebuffer object by calling this method.
2317:             *
2318:             * <p> GL_INVALID_OPERATION is generated if the current value of
2319:             * <code>GL_FRAMEBUFFER_BINDING_OES</code> is zero when
2320:             * <code>glFramebufferTexture2DOES</code> is called.
2321:             * <code>attachment</code> must be one of the attachment points of
2322:             * the framebuffer, either
2323:             * <code>GL_COLOR_ATTACHMENT</code><i>n</i><code>_OES</code> (where
2324:             * <i>n</i> is from 0 to <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> -
2325:             * 1), <code>GL_DEPTH_ATTACHMENT_OES</code>, or
2326:             * <code>GL_STENCIL_ATTACHMENT_OES</code>.
2327:             *
2328:             * <p> If <code>texture</code> is zero, then <code>textarget</code>
2329:             * and <code>level</code> are ignored.  If <code>texture</code> is
2330:             * not zero, then <code>texture</code> must either name an existing
2331:             * texture object with an target of <code>textarget</code>, or
2332:             * <code>texture</code> must name an existing cube map texture and
2333:             * <code>textarget</code> must be one of:
2334:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>,
2335:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>,
2336:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>,
2337:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>,
2338:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, or
2339:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>.  Otherwise,
2340:             * <code>GL_INVALID_OPERATION</code> is generated.
2341:             *
2342:             * <p> <code>level</code> specifies the mipmap level of the texture
2343:             * image to be attached to the framebuffer and must be 0 (indicating
2344:             * the base MIPmap level).
2345:             *
2346:             * <p> If <code>textarget</code> is one of
2347:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>,
2348:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>,
2349:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>,
2350:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>,
2351:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, or
2352:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>, then
2353:             * <code>level</code> must be greater than or equal to zero and less
2354:             * than or equal to log base 2 of
2355:             * <code>GL_MAX_CUBE_MAP_TEXTURE_SIZE</code>. For all other values of
2356:             * <code>textarget</code>, <code>level</code> must be greater than or
2357:             * equal to zero and no larger than log base 2 of
2358:             * <code>GL_MAX_TEXTURE_SIZE</code>.  Otherwise,
2359:             * <code>GL_INVALID_VALUE</code> is generated.
2360:             *
2361:             * <p> If <code>texture</code> is not zero, then
2362:             * <code>textarget</code> must be one of:
2363:             * <code>GL_TEXTURE_2D</code>,
2364:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>,
2365:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>,
2366:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>,
2367:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>,
2368:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, or
2369:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>.
2370:             *
2371:             * <p> If <code>texture</code> is not zero, and if
2372:             * <code>glFramebufferTexture2DOES</code> is successful, then the
2373:             * specified texture image will be used as the logical buffer
2374:             * identified by <code>attachment</code> of the framebuffer currently
2375:             * bound to <code>target</code>.  The value of
2376:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES</code> for the
2377:             * specified attachment point is set to <code>GL_TEXTURE</code> and
2378:             * the value of
2379:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code> is set to
2380:             * <texture>.  Additionally, the value of
2381:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES</code> for the
2382:             * named attachment point is set to <code>level</code>.  If
2383:             * <code>texture</code> is a cubemap texture then, the value of
2384:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES</code>
2385:             * the named attachment point is set to <code>textarget</code>.  All
2386:             * other state values of the attachment point specified by
2387:             * <code>attachment</code> are set to their default values listed in
2388:             * the table below.  No change is made to the state of the texture
2389:             * object, and any previous attachment to the <code>attachment</code>
2390:             * logical buffer of the framebuffer object bound to framebuffer
2391:             * <code>target</code> is broken.  If, on the other hand, the
2392:             * attachment is not successful, then no change is made to the state
2393:             * of either the texture object or the framebuffer object.
2394:             *
2395:             * <p> Calling <code>glFramebufferTexture2DOES</code> with
2396:             * <code>texture</code> name zero will detach the image identified by
2397:             * <code>attachment</code>, if any, in the framebuffer currently
2398:             * bound to <code>target</code>.  All state values of the attachment
2399:             * point specified by <code>attachment</code> are set to their
2400:             * default values listed in the table below.
2401:             *
2402:             * <p> If a texture object is deleted while its image is attached to
2403:             * one or more attachment points in the currently bound framebuffer,
2404:             * then it is as if <code>glFramebufferTexture2DOES</code> had been
2405:             * called, with a <code>texture</code> of 0, for each attachment
2406:             * point to which this image was attached in the currently bound
2407:             * framebuffer.  In other words, this texture image is first detached
2408:             * from all attachment points in the currently bound framebuffer.
2409:             * Note that the texture image is specifically <b>not</b> detached from
2410:             * any other framebuffer objects.  Detaching the texture image from
2411:             * any other framebuffer objects is the responsibility of the
2412:             * application.
2413:             *
2414:             * <p> The entire texture image, including border texels, if any, can be
2415:             * addressed with window-coordinates in the following range:
2416:             *
2417:             * <pre>
2418:             * 0 <= window_x < (texture_width  + (2 * border)),
2419:             * </pre>
2420:             * and
2421:             * <pre>
2422:             * 0 <= window_y < (texture_height + (2 * border))
2423:             * </pre>
2424:             *
2425:             * <p> The values in the first column of the table below should be
2426:             * prefixed with <code>GL_RENDERBUFFER_</code> and suffixed with
2427:             * <code>OES</code>.  The get command for all values is
2428:             * <code>glGetRenderbufferParameterivOES</code>.  All take on
2429:             * positive integral values.
2430:             *
2431:             * <pre>
2432:             * Get                        Initial
2433:             * Value                      Value         Description
2434:             * ---------------            -------       ----------------------
2435:             * ATTACHMENT_OBJECT_TYPE     GL_NONE       type of
2436:             *                                          image attached to
2437:             *                                          framebuffer attachment
2438:             *                                          point
2439:             *
2440:             * ATTACHMENT_OBJECT_NAME     0             name of object
2441:             *                                          attached to
2442:             *                                          framebuffer attachment
2443:             *                                          point
2444:             *
2445:             * ATTACHMENT_TEXTURE_LEVEL   0             mipmap level of
2446:             *                                          texture image
2447:             *                                          attached, if object
2448:             *                                          attached is texture.
2449:             *
2450:             * ATTACHMENT_TEXTURE_        GL_TEXTURE_   cubemap face of
2451:             * CUBE_MAP_FACE              CUBE_MAP_     texture image
2452:             *                            POSITIVE_X    attached, if object
2453:             *                                          attached is cubemap
2454:             *                                          texture.
2455:             * </pre>
2456:             *
2457:             * @param target the value <code>GL_FRAMEBUFFER_OES</code>.
2458:             * @param attachment the framebuffer attachment, one of
2459:             * <code>GL_COLOR_ATTACHMENT_</code><i>n</i><code>_OES</code> (where
2460:             * <i>n</i> is from 0 to <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> -
2461:             * 1), <code>GL_DEPTH_ATTACHMENT_OES</code>, or
2462:             * <code>GL_STENCIL_ATTACHMENT_OES</code>.
2463:             * @param textarget one of <code>GL_TEXTURE_2D</code>,
2464:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_X</code>,
2465:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Y</code>,
2466:             * <code>GL_TEXTURE_CUBE_MAP_POSITIVE_Z</code>,
2467:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_X</code>,
2468:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Y</code>, or
2469:             * <code>GL_TEXTURE_CUBE_MAP_NEGATIVE_Z</code>.
2470:             * @param texture the texture, or zero.
2471:             * @param level the texture MIPmap level, which must be 0.
2472:             *
2473:             * @exception UnsupportedOperationException if the underlying
2474:             * runtime engine does not support the
2475:             * <code>OES_framebuffer_object</code> extension.
2476:             */
2477:            void glFramebufferTexture2DOES(int target, int attachment,
2478:                    int textarget, int texture, int level);
2479:
2480:            /**
2481:             * (<code>OES_framebuffer_object</code> extension)
2482:             * Attach a renderbuffer to a framebuffer.
2483:             *
2484:             * <p> A renderbuffer can be attached as one of the logical buffers
2485:             * of the currently bound framebuffer object by calling
2486:             * <code>glFramebufferRenderbufferOES</code>. <code>target</code>
2487:             * must be <code>GL_FRAMEBUFFER_OES</code>.
2488:             * <code>GL_INVALID_OPERATION</code> is generated if the current
2489:             * value of <code>GL_FRAMEBUFFER_BINDING_OES</code> is zero when
2490:             * <code>glFramebufferRenderbufferOES</code> is called.
2491:             * <code>attachment</code> should be set to one of the attachment
2492:             * points of the framebuffer, one of
2493:             * <code>GL_COLOR_ATTACHMENT</code><i>n</i><code>_OES</code> (where
2494:             * <i>n</i> is from 0 to <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> -
2495:             * 1), <code>GL_DEPTH_ATTACHMENT_OES</code>, or
2496:             * <code>GL_STENCIL_ATTACHMENT_OES</code>.
2497:             * <code>renderbuffertarget</code> must be
2498:             * <code>GL_RENDERBUFFER_OES</code> and <code>renderbuffer</code>
2499:             * should be set to the name of the renderbuffer object to be
2500:             * attached to the framebuffer.  <code>renderbuffer</code> must be
2501:             * either zero or the name of an existing renderbuffer object of
2502:             * type <code>renderbuffertarget</code>, otherwise
2503:             * <code>GL_INVALID_OPERATION</code> is generated.  If
2504:             * <code>renderbuffer</code> is zero, then the value of
2505:             * <code>renderbuffertarget</code> is ignored.
2506:             *
2507:             * <p> If <code>renderbuffer</code> is not zero and if
2508:             * <code>glFramebufferRenderbufferOES</code> is successful, then the
2509:             * renderbuffer named <code>renderbuffer</code> will be used as the
2510:             * logical buffer identified by <code>attachment</code> of the
2511:             * framebuffer currently bound to <code>target</code>.  The value of
2512:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES</code> for the
2513:             * specified attachment point is set to
2514:             * <code>GL_RENDERBUFFER_OES</code> and the value of
2515:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code> is set to
2516:             * <code>renderbuffer</code>. All other state values of the
2517:             * attachment point specified by <code>attachment</code> are set to
2518:             * their default values listed in the table below. No change is made
2519:             * to the state of the renderbuffer object and any previous
2520:             * attachment to the <code>attachment</code> logical buffer of the
2521:             * framebuffer object bound to framebuffer <code>target</code> is
2522:             * broken.  If, on the other hand, the attachment is not successful,
2523:             * then no change is made to the state of either the renderbuffer
2524:             * object or the framebuffer object.
2525:             *
2526:             * <p> Calling <code>glFramebufferRenderbufferOES</code> with the
2527:             * <code>renderbuffer</code> name zero will detach the image, if
2528:             * any, identified by <code>attachment</code>, in the framebuffer
2529:             * currently bound to <code>target</code>.  All state values of the
2530:             * attachment point specified by <code>attachment</code> in the
2531:             * object bound to <code>target</code> are set to their default
2532:             * values listed in the table below.
2533:             *
2534:             * <p> If a renderbuffer object is deleted while its image is
2535:             * attached to one or more attachment points in the currently bound
2536:             * framebuffer, then it is as if
2537:             * <code>glFramebufferRenderbufferOES</code> had been called, with a
2538:             * <code>renderbuffer</code> of 0, for each attachment point to
2539:             * which this image was attached in the currently bound framebuffer.
2540:             * In other words, this renderbuffer image is first detached from
2541:             * all attachment points in the currently bound framebuffer.  Note
2542:             * that the renderbuffer image is specifically *not* detached from
2543:             * any non-bound framebuffers.  Detaching the image from any
2544:             * non-bound framebuffers is the responsibility of the application.
2545:             *
2546:             * <p> The values in the first column of the table below should be
2547:             * prefixed with <code>GL_RENDERBUFFER_</code> and suffixed with
2548:             * <code>OES</code>.  The get command for all values is
2549:             * <code>glGetRenderbufferParameterivOES</code>.  All take on
2550:             * positive integral values.
2551:             *
2552:             * <pre>
2553:             * Get                        Initial
2554:             * Value                      Value         Description
2555:             * ---------------            -------       ----------------------
2556:             * ATTACHMENT_OBJECT_TYPE     GL_NONE       type of
2557:             *                                          image attached to
2558:             *                                          framebuffer attachment
2559:             *                                          point
2560:             *
2561:             * ATTACHMENT_OBJECT_NAME     0             name of object
2562:             *                                          attached to
2563:             *                                          framebuffer attachment
2564:             *                                          point
2565:             *
2566:             * ATTACHMENT_TEXTURE_LEVEL   0             mipmap level of
2567:             *                                          texture image
2568:             *                                          attached, if object
2569:             *                                          attached is texture.
2570:             *
2571:             * ATTACHMENT_TEXTURE_        GL_TEXTURE_   cubemap face of
2572:             * CUBE_MAP_FACE              CUBE_MAP_     texture image
2573:             *                            POSITIVE_X    attached, if object
2574:             *                                          attached is cubemap
2575:             *                                          texture.
2576:             * </pre>
2577:             *
2578:             * @param target the value <code>GL_FRAMEBUFFER_OES</code>.
2579:             * @param attachment one of
2580:             * <code>GL_COLOR_ATTACHMENT</code><i>n</i><code>_OES</code> (where
2581:             * <i>n</i> is from 0 to <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> -
2582:             * 1), <code>GL_DEPTH_ATTACHMENT_OES</code>, or
2583:             * <code>GL_STENCIL_ATTACHMENT_OES</code>.
2584:             * @param renderbuffertarget the value
2585:             * <code>GL_RENDERBUFFER_OES</code>.
2586:             * @param renderbuffer the renderbuffer to be attached to the framebuffer.
2587:             *
2588:             * @exception UnsupportedOperationException if the underlying
2589:             * runtime engine does not support the
2590:             * <code>OES_framebuffer_object</code> extension.
2591:             */
2592:            void glFramebufferRenderbufferOES(int target, int attachment,
2593:                    int renderbuffertarget, int renderbuffer);
2594:
2595:            /**
2596:             * (<code>OES_framebuffer_object</code> extension)
2597:             * Query the value of a framebuffer attachment parameter.
2598:             *
2599:             * <p> <code>target</code> must be <code>GL_FRAMEBUFFER_OES</code>.
2600:             * <code>attachment</code> must be one of the attachment points of
2601:             * the framebuffer, either <code>GL_COLOR_ATTACHMENT</code><i>n</i><code>_OES</code> (where
2602:             * <i>n</i> is from 0 to <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> -
2603:             * 1), <code>GL_DEPTH_ATTACHMENT_OES</code>, or
2604:             * <code>GL_STENCIL_ATTACHMENT_OES</code>.
2605:             * <code>pname</code> must be one of the following:
2606:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES</code>,
2607:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code>,
2608:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES</code>, or
2609:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES</code>.
2610:             *
2611:             * <p> If the framebuffer currently bound to <code>target</code> is
2612:             * zero, then <code>GL_INVALID_OPERATION</code> is generated.
2613:             *
2614:             * <p> Upon successful return from
2615:             * <code>glGetFramebufferAttachmentParameterivOES</code>, if
2616:             * <code>pname</code> is
2617:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES</code>, then
2618:             * <code>param</code> will contain one of <code>GL_NONE</code>,
2619:             * <code>GL_TEXTURE</code>, or <code>GL_RENDERBUFFER_OES</code>,
2620:             * identifying the type of object which contains the attached image.
2621:             *
2622:             * <p> If the value of GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES is
2623:             * <code>GL_RENDERBUFFER_OES</code>, then:
2624:             * 
2625:             * <ul> <li>If <code>pname</code> is
2626:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code>,
2627:             * <code>params</code> will contain the name of the renderbuffer
2628:             * object which contains the attached image.</li>
2629:             *
2630:             * <li>Otherwise, <code>GL_INVALID_ENUM</code> is generated.</li>
2631:             * </ul>
2632:             *
2633:             * <p> If the value of
2634:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES</code> is
2635:             * <code>GL_TEXTURE</code>, then:
2636:             *
2637:             * <ul>
2638:             *
2639:             * <li>If <pname> is
2640:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code>, then
2641:             * <params> will contain the name of the texture object which
2642:             * contains the attached image.</li>
2643:             *
2644:             * <li>If <pname> is
2645:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES</code>, then
2646:             * <params> will contain the mipmap level of the texture object
2647:             * which contains the attached image.</li>
2648:             *
2649:             * <li>If <pname> is
2650:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES</code>
2651:             * and the texture object named
2652:             * <code>FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code> is a cube map
2653:             * texture, then <params> will contain the cube map face of the
2654:             * cubemap texture object which contains the attached image.
2655:             * Otherwise <params> will contain the value zero.</li>
2656:             *
2657:             * <li>Otherwise, <code>GL_INVALID_ENUM</code> is generated.</li>
2658:             *
2659:             * </ul>
2660:             *
2661:             * @param target the value <code>GL_FRAMEBUFFER_OES</code>.
2662:             * @param attachment one of
2663:             * <code>GL_COLOR_ATTACHMENT</code><i>n</i><code>_OES</code> (where
2664:             * <i>n</i> is from 0 to <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> -
2665:             * 1), <code>GL_DEPTH_ATTACHMENT_OES</code>, or
2666:             * <code>GL_STENCIL_ATTACHMENT_OES</code>.
2667:             * @param pname one of
2668:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES</code>,
2669:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code>,
2670:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES</code>, or
2671:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES</code>.
2672:             * @param params an array to which the query results will be written.
2673:             * @param offset the starting offset within the
2674:             * <code>params</code> array.
2675:             *
2676:             * @exception UnsupportedOperationException if the underlying
2677:             * runtime engine does not support the
2678:             * <code>OES_framebuffer_object</code> extension.
2679:             * @exception IllegalArgumentException if <code>params</code> is
2680:             * <code>null</code>.
2681:             * @exception IllegalArgumentException if <code>offset</code> is
2682:             * less than 0.
2683:             * @exception IllegalArgumentException if <code>params.length -
2684:             * offset</code> is smaller than the number of values required by
2685:             * the parameter.
2686:             */
2687:            void glGetFramebufferAttachmentParameterivOES(int target,
2688:                    int attachment, int pname, int[] params, int offset);
2689:
2690:            /**
2691:             * (<code>OES_framebuffer_object</code> extension)
2692:             * Integer <code>Buffer</code> version of
2693:             * <code>glGetFramebufferAttachmentParameterivOES</code>.
2694:             * 
2695:             * @see #glGetFramebufferAttachmentParameterivOES(int target, int
2696:             * attachment, int pname, int[] params, int offset)
2697:             *
2698:             * @param target the value <code>GL_FRAMEBUFFER_OES</code>.
2699:             * @param attachment one of
2700:             * <code>GL_COLOR_ATTACHMENT</code><i>n</i><code>_OES</code> (where
2701:             * <i>n</i> is from 0 to <code>GL_MAX_COLOR_ATTACHMENTS_OES</code> -
2702:             * 1), <code>GL_DEPTH_ATTACHMENT_OES</code>, or
2703:             * <code>GL_STENCIL_ATTACHMENT_OES</code>.
2704:             * @param pname one of
2705:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES</code>,
2706:             * <code>GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES</code>,
2707:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES</code>, or
2708:             * <code>GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES</code>.
2709:             * @param params an <code>IntBuffer</code> to which the query
2710:             * results will be written.
2711:             *
2712:             * @exception UnsupportedOperationException if the underlying
2713:             * runtime engine does not support the
2714:             * <code>OES_framebuffer_object</code> extension.
2715:             * @exception IllegalArgumentException if <code>params</code> is
2716:             * <code>null</code>.
2717:             * @exception IllegalArgumentException if
2718:             * <code>params.remaining()</code> is smaller than the number of
2719:             * values required by the parameter.
2720:             */
2721:            void glGetFramebufferAttachmentParameterivOES(int target,
2722:                    int attachment, int pname, IntBuffer params);
2723:
2724:            /**
2725:             * (<code>OES_framebuffer_object</code> extension) Generate mipmaps
2726:             * manually.
2727:             *
2728:             * <p> <code>target</code> is one of <code>TEXTURE_2D</code> or
2729:             * <code>TEXTURE_CUBE_MAP</code>.  Mipmap generation affects the
2730:             * texture image attached to <code>target</code>.  For cube map
2731:             * textures, <code>INVALID_OPERATION</code> is generated if the
2732:             * texture bound to <code>target</code> is not cube complete.
2733:             *
2734:             * @param target one of <code>TEXTURE_2D</code> or
2735:             * <code>TEXTURE_CUBE_MAP</code>.
2736:             *
2737:             * @exception UnsupportedOperationException if the underlying
2738:             * runtime engine does not support the
2739:             * <code>OES_framebuffer_object</code> extension.
2740:             */
2741:            void glGenerateMipmapOES(int target);
2742:        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.