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

資源簡介

用OpenGL紋理實現的魚眼鏡頭,兩種貼圖方式。數據源是窗口的HBITMAP到圖像數據、VLC的幀渲染到內存的圖像數據。

資源截圖

代碼片段和文件信息

#define?_WIN32_WINNT??0x0600
/**************************
?*?Includes
?*
?**************************/
//#define?UNICODE

#include?
#include?
#include?//注意定義順序?
#include?
#include?

#include?

#include?
#include?

/**************************
?*?Function?Declarations
?*
?**************************/

LRESULT?CALLBACK?WndProc?(HWND?hWnd?UINT?message
WPARAM?wParam?LPARAM?lParam);
void?EnableOpenGL?(HWND?hWnd?HDC?*hDC?HGLRC?*hRC);
void?DisableOpenGL?(HWND?hWnd?HDC?hDC?HGLRC?hRC);

void?OpenMediaFile();
void*?VideoLockCallBack(void?*opaque?void?**planes);
void?VideoUnLockCallBack(void?*opaque?void?*picture?void?*const?*planes);
void?VideoDisplayCallBack(void?*opaque?void?*picture);
WCHAR*?AnsiToUnicode(char?*?ansiStr);
char?*UnicodeToUtf8(WCHAR*?uniStr);

/**************************
?*?WinMain
?*
?**************************/
#define?DIV?64
#define?PI?3.1416f

int?*pBmpData;
unsigned?dataWidthdataHeight;
GLuint?texture[1];
HWND?hWindow=0;
int?FishEye=0;
float?radius=10;?

BOOL?hasMedia=FALSE;
int?bmpRotateZ=0;
BOOL?mirrorX=FALSE;
BOOL?mirrorY=FALSE;
libvlc_instance_t?*vlcInstance;
libvlc_media_player_t?*vlcPlayer;
libvlc_media_t?*vlcMedia;

OPENFILENAMEW?ofn;
WCHAR?strFile[260];???????

int?WINAPI?WinMain?(HINSTANCE?hInstance
????????????????????HINSTANCE?hPrevInstance
????????????????????LPSTR?lpCmdLine
????????????????????int?iCmdShow)
{
????WNDCLASS?wc;
????HWND?hWnd;
????HDC?hDC;
????HGLRC?hRC;????????
????MSG?msg;
????BOOL?bQuit?=?FALSE;

????/*?register?window?class?*/
????wc.style?=?CS_OWNDC;
????wc.lpfnWndProc?=?WndProc;
????wc.cbClsExtra?=?0;
????wc.cbWndExtra?=?0;
????wc.hInstance?=?hInstance;
????wc.hIcon?=?LoadIcon?(NULL?IDI_APPLICATION);
????wc.hCursor?=?LoadCursor?(NULL?IDC_ARROW);
????wc.hbrBackground?=?(HBRUSH)?GetStockobject?(BLACK_BRUSH);
????wc.lpszMenuName?=?NULL;
????wc.lpszClassName?=?“FishEye“;
????RegisterClass?(&wc);

????/*?create?main?window?*/
????hWnd?=?CreateWindow?(
??????“FishEye“?“FishEye“?
??????WS_OVERLAPPEDWINDOW|WS_VISIBLE
??????0?0?800?600
??????NULL?NULL?hInstance?NULL);
????pBmpData=0;
????ZeroMemory(&ofnsizeof(OPENFILENAME));
????ofn.lStructSize?=?sizeof(ofn);
ofn.hwndOwner?=?hWnd;
ofn.lpstrFile?=?strFile;
ofn.lpstrFile[0]?=?‘\0‘;
ofn.nMaxFile?=?sizeof(strFile);
ofn.lpstrFilter?=?L“AVI\0*.avi\0MKV\0*.mkv\0MP4\0*.mp4\0FLV\0*.flv\
\0MOV\0*.mov\0RMVB\0*.rmvb;*.rm\0MPEG\0*.mpg;*.mpeg\0*3G*\0*.3gp;*.3g2;*.3gp2;*.3gpp\
\0WMV\0*.wmv\0OGG\0*.ogg\0All\0*.*“;
ofn.nFilterIndex?=?1;
ofn.lpstrFiletitle?=?NULL;
ofn.nMaxFiletitle?=?0;
ofn.lpstrInitialDir?=?NULL;
ofn.Flags?=?OFN_PATHMUSTEXIST?|?OFN_FILEMUSTEXIST;

vlcInstance?=?libvlc_new(0NULL);
vlcPlayer?=?libvlc_media_player_new(vlcInstance);
OpenMediaFile();
MoveWindow(hWnd00dataWidthdataHeightTRUE);
????/*?enable?OpenGL?for?the?wind

評論

共有 條評論