PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
glExtensions.h
Go to the documentation of this file.
1 /***************************************************************************\
2 |* *|
3 |* Copyright 2007 NVIDIA Corporation. All rights reserved. *|
4 |* *|
5 |* NOTICE TO USER: *|
6 |* *|
7 |* This source code is subject to NVIDIA ownership rights under U.S. *|
8 |* and international Copyright laws. Users and possessors of this *|
9 |* source code are hereby granted a nonexclusive, royalty-free *|
10 |* license to use this code in individual and commercial software. *|
11 |* *|
12 |* NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE *|
13 |* CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR *|
14 |* IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH *|
15 |* REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF *|
16 |* MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR *|
17 |* PURPOSE. IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, *|
18 |* INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES *|
19 |* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN *|
20 |* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING *|
21 |* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE *|
22 |* CODE. *|
23 |* *|
24 |* U.S. Government End Users. This source code is a "commercial item" *|
25 |* as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting *|
26 |* of "commercial computer software" and "commercial computer software *|
27 |* documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) *|
28 |* and is provided to the U.S. Government only as a commercial end item. *|
29 |* Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through *|
30 |* 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the *|
31 |* source code with only those rights set forth herein. *|
32 |* *|
33 |* Any use of this source code in individual and commercial software must *|
34 |* include, in the user documentation and internal comments to the code, *|
35 |* the above Disclaimer and U.S. Government End Users Notice. *|
36 |* *|
37 |* *|
38 \***************************************************************************/
39 
40 #ifndef NVGLEXT_H
41 #define NVGLEXT_H
42 
43 #if WIN32
44 #include <windows.h>
45 #endif
46 #include "nvConfigure.h"
47 
48 extern bool loadExtensionFunctions( void );
49 extern bool loadAffinityExtension();
50 extern bool loadFramebufferObjectExtension();
51 extern bool loadTimerQueryExtension();
52 extern bool loadSwapIntervalExtension();
53 extern bool loadPixelFormatExtension();
54 extern bool loadBufferObjectExtension();
55 extern bool loadPresentVideoExtension();
56 extern bool loadCaptureVideoExtension();
57 extern bool loadShaderObjectsExtension( void );
58 extern bool loadCopyImageExtension();
59 extern bool loadSyncExtension();
60 
61 // WGL_NV_Copy_image
62 extern PFNWGLCOPYIMAGESUBDATANVPROC wglCopyImageSubDataNV;
63 
64 // GL_EXT_framebuffer_object
65 extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT;
66 extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
67 extern PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
68 extern PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
69 extern PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
70 extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderBufferParameterivEXT;
71 extern PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT;
72 extern PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
73 extern PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
74 extern PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
75 extern PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXT;
76 extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
77 extern PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT;
78 extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
79 extern PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT;
80 extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
81 extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
82 extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
83 
84 
85 //GL_EXT_timer_query
86 extern PFNGLGENQUERIESPROC glGenQueries;
87 extern PFNGLDELETEQUERIESPROC glDeleteQueries;
88 extern PFNGLBEGINQUERYPROC glBeginQuery;
89 extern PFNGLENDQUERYPROC glEndQuery;
90 extern PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64vEXT;
91 extern PFNGLGETINTEGER64VPROC glGetInteger64v;
92 extern PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv;
93 
94 // GL_ARB_vertex_program
95 extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
96 extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
97 extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
98 extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
99 
100 // WGL_gpu_affinity
101 extern PFNWGLENUMGPUSNVPROC wglEnumGpusNV;
102 extern PFNWGLENUMGPUDEVICESNVPROC wglEnumGpuDevicesNV;
103 extern PFNWGLCREATEAFFINITYDCNVPROC wglCreateAffinityDCNV;
104 extern PFNWGLDELETEDCNVPROC wglDeleteDCNV;
105 extern PFNWGLENUMGPUSFROMAFFINITYDCNVPROC wglEnumGpusFromAffinityDCNV;
106 
107 // WGL_Swap_Interval
108 extern PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
109 
110 //WGL_ARB_pixel_format
111 extern PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormat;
112 
113 // GL_ARB_vertex_buffer_object
114 extern PFNGLBINDBUFFERARBPROC glBindBuffer;
115 extern PFNGLBUFFERDATAARBPROC glBufferData;
116 extern PFNGLBUFFERSUBDATAARBPROC glBufferSubData;
117 extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffers;
118 extern PFNGLGENBUFFERSARBPROC glGenBuffers;
119 extern PFNGLMAPBUFFERPROC glMapBuffer;
120 extern PFNGLUNMAPBUFFERPROC glUnmapBuffer;
121 extern PFNGLMAPBUFFERRANGEPROC glMapBufferRange;
122 extern PFNGLGETBUFFERSUBDATAPROC glGetBufferSubData;
123 
124 //NV_present_video
125 extern PFNWGLENUMERATEVIDEODEVICESNVPROC wglEnumerateVideoDevicesNV;
126 extern PFNWGLBINDVIDEODEVICENVPROC wglBindVideoDeviceNV;
127 extern PFNGLPRESENTFRAMEKEYEDNVPROC glPresentFrameKeyedNV;
128 extern PFNGLPRESENTFRAMEDUALFILLNVPROC glPresentFrameDualFillNV;
129 
130 extern PFNGLGETVIDEOIVNVPROC glGetVideoivNV;
131 extern PFNGLGETVIDEOUIVNVPROC glGetVideouivNV;
132 extern PFNGLGETVIDEOI64VNVPROC glGetVideoi64vNV;
133 extern PFNGLGETVIDEOUI64VNVPROC glGetVideoui64vNV;
134 
135 //GL_NV_video_capture
136 extern PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC wglEnumerateVideoCaptureDevicesNV;
137 extern PFNWGLBINDVIDEOCAPTUREDEVICENVPROC wglBindVideoCaptureDeviceNV;
138 extern PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC wglReleaseVideoCaptureDeviceNV;
139 extern PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC wglLockVideoCaptureDeviceNV;
140 extern PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC wglQueryVideoCaptureDeviceNV;
141 extern PFNWGLQUERYCURRENTCONTEXTNVPROC wglQueryCurrentContextNV;
142 
143 extern PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC glVideoCaptureStreamParameterivNV;
144 extern PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC glVideoCaptureStreamParameterfvNV;
145 extern PFNGLGETVIDEOCAPTURESTREAMIVNVPROC glGetVideoCaptureStreamivNV;
146 extern PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC glBindVideoCaptureStreamBufferNV;
147 extern PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC glBindVideoCaptureStreamTextureNV;
148 extern PFNGLBEGINVIDEOCAPTURENVPROC glBeginVideoCaptureNV;
149 extern PFNGLENDVIDEOCAPTURENVPROC glEndVideoCaptureNV;
150 extern PFNGLVIDEOCAPTURENVPROC glVideoCaptureNV;
151 
153 extern PFNGLSHADERSOURCEARBPROC glShaderSource;
154 extern PFNGLCOMPILESHADERARBPROC glCompileShader;
155 extern PFNGLGETSHADERIVPROC glGetShaderiv;
156 extern PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog;
157 extern PFNGLUSEPROGRAMPROC glUseProgram;
158 extern PFNGLCREATESHADERPROC glCreateShader;
159 extern PFNGLDELETESHADERPROC glDeleteShader;
160 extern PFNGLDELETEPROGRAMPROC glDeleteProgram;
161 extern PFNGLCREATEPROGRAMPROC glCreateProgram;
162 extern PFNGLATTACHSHADERPROC glAttachShader;
163 extern PFNGLDETACHSHADERPROC glDetachShader;
164 extern PFNGLLINKPROGRAMPROC glLinkProgram;
165 extern PFNGLGETPROGRAMIVPROC glGetProgramiv;
166 extern PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog;
167 extern PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation;
168 extern PFNGLUNIFORM2IVARBPROC glUniform2iv;
169 
170 extern PFNGLFENCESYNCPROC glFenceSync;
171 extern PFNGLISSYNCPROC glIsSync;
172 extern PFNGLDELETESYNCPROC glDeleteSync;
173 extern PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
174 extern PFNGLWAITSYNCPROC glWaitSync;
175 extern PFNGLGETSYNCIVPROC glGetSynciv;
176 
177 #endif
bool loadPresentVideoExtension()
bool loadSwapIntervalExtension()
PFNGLDELETEPROGRAMPROC glDeleteProgram
PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT
PFNGLBEGINVIDEOCAPTURENVPROC glBeginVideoCaptureNV
PFNGLSHADERSOURCEARBPROC glShaderSource
Shader objects.
PFNGLWAITSYNCPROC glWaitSync
ext function
bool loadCaptureVideoExtension()
PFNGLGETVIDEOUIVNVPROC glGetVideouivNV
PFNWGLCOPYIMAGESUBDATANVPROC wglCopyImageSubDataNV
PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT
PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT
PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB
PFNGLUNMAPBUFFERPROC glUnmapBuffer
PFNGLGETVIDEOI64VNVPROC glGetVideoi64vNV
PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT
PFNWGLQUERYCURRENTCONTEXTNVPROC wglQueryCurrentContextNV
bool loadCopyImageExtension()
PFNGLVIDEOCAPTURESTREAMPARAMETERFVNVPROC glVideoCaptureStreamParameterfvNV
PFNGLBINDPROGRAMARBPROC glBindProgramARB
PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation
PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64vEXT
PFNGLENDVIDEOCAPTURENVPROC glEndVideoCaptureNV
PFNGLGETVIDEOCAPTURESTREAMIVNVPROC glGetVideoCaptureStreamivNV
PFNGLDELETESYNCPROC glDeleteSync
ext function
PFNGLUSEPROGRAMPROC glUseProgram
PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT
PFNWGLENUMERATEVIDEOCAPTUREDEVICESNVPROC wglEnumerateVideoCaptureDevicesNV
PFNGLCOMPILESHADERARBPROC glCompileShader
PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT
PFNGLATTACHSHADERPROC glAttachShader
bool loadAffinityExtension()
PFNGLDETACHSHADERPROC glDetachShader
PFNGLFENCESYNCPROC glFenceSync
ext function
PFNGLBINDBUFFERARBPROC glBindBuffer
PFNGLGETPROGRAMINFOLOGPROC glGetProgramInfoLog
PFNWGLBINDVIDEOCAPTUREDEVICENVPROC wglBindVideoCaptureDeviceNV
PFNGLENDQUERYPROC glEndQuery
PFNGLGETVIDEOUI64VNVPROC glGetVideoui64vNV
PFNGLDELETEQUERIESPROC glDeleteQueries
PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT
PFNGLGETSHADERINFOLOGPROC glGetShaderInfoLog
PFNGLGETVIDEOIVNVPROC glGetVideoivNV
PFNGLDELETEBUFFERSARBPROC glDeleteBuffers
PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT
PFNWGLQUERYVIDEOCAPTUREDEVICENVPROC wglQueryVideoCaptureDeviceNV
PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT
PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormat
PFNWGLENUMGPUDEVICESNVPROC wglEnumGpuDevicesNV
PFNWGLLOCKVIDEOCAPTUREDEVICENVPROC wglLockVideoCaptureDeviceNV
PFNGLCREATEPROGRAMPROC glCreateProgram
bool loadBufferObjectExtension()
PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT
PFNGLGENBUFFERSARBPROC glGenBuffers
PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT
PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT
bool loadExtensionFunctions(void)
PFNGLPRESENTFRAMEKEYEDNVPROC glPresentFrameKeyedNV
bool loadTimerQueryExtension()
PFNWGLBINDVIDEODEVICENVPROC wglBindVideoDeviceNV
PFNGLBUFFERSUBDATAARBPROC glBufferSubData
PFNGLBEGINQUERYPROC glBeginQuery
PFNWGLRELEASEVIDEOCAPTUREDEVICENVPROC wglReleaseVideoCaptureDeviceNV
PFNWGLENUMGPUSFROMAFFINITYDCNVPROC wglEnumGpusFromAffinityDCNV
PFNGLGETBUFFERSUBDATAPROC glGetBufferSubData
bool loadSyncExtension()
PFNGLBLITFRAMEBUFFEREXTPROC glBlitFramebufferEXT
PFNGLBINDVIDEOCAPTURESTREAMBUFFERNVPROC glBindVideoCaptureStreamBufferNV
PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderBufferParameterivEXT
PFNGLPROGRAMSTRINGARBPROC glProgramStringARB
PFNGLGETSHADERIVPROC glGetShaderiv
PFNGLGETPROGRAMIVPROC glGetProgramiv
PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT
PFNGLDELETESHADERPROC glDeleteShader
PFNWGLENUMGPUSNVPROC wglEnumGpusNV
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT
PFNGLMAPBUFFERPROC glMapBuffer
PFNWGLENUMERATEVIDEODEVICESNVPROC wglEnumerateVideoDevicesNV
PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT
PFNGLGENPROGRAMSARBPROC glGenProgramsARB
PFNWGLCREATEAFFINITYDCNVPROC wglCreateAffinityDCNV
PFNGLCREATESHADERPROC glCreateShader
PFNGLGETSYNCIVPROC glGetSynciv
ext function
bool loadPixelFormatExtension()
PFNGLPRESENTFRAMEDUALFILLNVPROC glPresentFrameDualFillNV
PFNGLBUFFERDATAARBPROC glBufferData
PFNGLCLIENTWAITSYNCPROC glClientWaitSync
ext function
bool loadShaderObjectsExtension(void)
PFNGLUNIFORM2IVARBPROC glUniform2iv
PFNGLISSYNCPROC glIsSync
ext function
PFNWGLDELETEDCNVPROC wglDeleteDCNV
PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT
PFNGLMAPBUFFERRANGEPROC glMapBufferRange
bool loadFramebufferObjectExtension()
PFNGLGETQUERYOBJECTUIVPROC glGetQueryObjectuiv
PFNGLVIDEOCAPTURENVPROC glVideoCaptureNV
PFNGLBINDVIDEOCAPTURESTREAMTEXTURENVPROC glBindVideoCaptureStreamTextureNV
PFNGLGETINTEGER64VPROC glGetInteger64v
PFNGLLINKPROGRAMPROC glLinkProgram
PFNGLGENQUERIESPROC glGenQueries
PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT
PFNGLVIDEOCAPTURESTREAMPARAMETERIVNVPROC glVideoCaptureStreamParameterivNV