91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.28MB
    文件類型: .gz
    金幣: 1
    下載: 0 次
    發布日期: 2023-10-27
  • 語言: 其他
  • 標簽: opengl??魚眼矯正??

資源簡介

基于opengl實現魚眼矯正,用到了球面等距模型,w,s,left,right等鍵可以控制視角,要引入lens K,D參數,留言繼續討論

資源截圖

代碼片段和文件信息

/*

????OpenGL?loader?generated?by?glad?0.1.18a0?on?Wed?Feb?28?04:14:42?2018.

????Language/Generator:?C/C++
????Specification:?gl
????APIs:?gl=3.3
????Profile:?core
????Extensions:
????????
????Loader:?True
????Local?files:?False
????Omit?khrplatform:?False

????Commandline:
????????--profile=“core“?--api=“gl=3.3“?--generator=“c“?--spec=“gl“?--extensions=““
????Online:
????????http://glad.dav1d.de/#profile=core&language=c&specification=gl&loader=on&api=gl%3D3.3
*/

#include?
#include?
#include?
#include?

static?void*?get_proc(const?char?*namez);

#ifdef?_WIN32
#include?
static?HMODULE?libGL;

typedef?void*?(APIENTRYP?PFNWGLGETPROCADDRESSPROC_PRIVATE)(const?char*);
static?PFNWGLGETPROCADDRESSPROC_PRIVATE?gladGetProcAddressPtr;

static
int?open_gl(void)?{
????libGL?=?LoadLibraryW(L“opengl32.dll“);
????if(libGL?!=?NULL)?{
????????gladGetProcAddressPtr?=?(PFNWGLGETPROCADDRESSPROC_PRIVATE)GetProcAddress(
????????????????libGL?“wglGetProcAddress“);
????????return?gladGetProcAddressPtr?!=?NULL;
????}

????return?0;
}

static
void?close_gl(void)?{
????if(libGL?!=?NULL)?{
????????FreeLibrary((HMODULE)?libGL);
????libGL?=?NULL;
????}
}
#else
#include?
static?void*?libGL;

#ifndef?__APPLE__
typedef?void*?(APIENTRYP?PFNGLXGETPROCADDRESSPROC_PRIVATE)(const?char*);
static?PFNGLXGETPROCADDRESSPROC_PRIVATE?gladGetProcAddressPtr;
#endif

static
int?open_gl(void)?{
#ifdef?__APPLE__
????static?const?char?*NAMES[]?=?{
????????“../frameworks/OpenGL.framework/OpenGL“
????????“/Library/frameworks/OpenGL.framework/OpenGL“
????????“/System/Library/frameworks/OpenGL.framework/OpenGL“
????????“/System/Library/frameworks/OpenGL.framework/Versions/Current/OpenGL“
????};
#else
????static?const?char?*NAMES[]?=?{“libGL.so.1“?“libGL.so“};
#endif

????unsigned?int?index?=?0;
????for(index?=?0;?index?????????libGL?=?dlopen(NAMES[index]?RTLD_NOW?|?RTLD_GLOBAL);

????????if(libGL?!=?NULL)?{
#ifdef?__APPLE__
????????????return?1;
#else
????????????gladGetProcAddressPtr?=?(PFNGLXGETPROCADDRESSPROC_PRIVATE)dlsym(libGL
????????????????“glXGetProcAddressARB“);
????????????return?gladGetProcAddressPtr?!=?NULL;
#endif
????????}
????}

????return?0;
}

static
void?close_gl(void)?{
????if(libGL?!=?NULL)?{
????????dlclose(libGL);
????????libGL?=?NULL;
????}
}
#endif

static
void*?get_proc(const?char?*namez)?{
????void*?result?=?NULL;
????if(libGL?==?NULL)?return?NULL;

#ifndef?__APPLE__
????if(gladGetProcAddressPtr?!=?NULL)?{
????????result?=?gladGetProcAddressPtr(namez);
????}
#endif
????if(result?==?NULL)?{
#ifdef?_WIN32
????????result?=?(void*)GetProcAddress((HMODULE)?libGL?namez);
#else
????????result?=?dlsym(libGL?namez);
#endif
????}

????return?result;
}

int?gladLoadGL(void)?{
????int?status?=?0;

????if(open_gl())?{
????????status?=?gladLoadGLLoader(&get_proc);
????????close_gl();
????}

????return?status;
}

struct?gladGLversionStruct?GLVersion;

#if?defined(GL_E

評論

共有 條評論