易语言OpenGL教程第36课渲染到纹理源码
系统结构:TerminateApplication,ToggleFullscreen,ReshapeGL,ChangeScreenResolution,CreateWindowGL,DestroyWindowGL,WindowProc,RegisterWindowClass,HIWORD,LOWORD,sqrt,EmptyTexture,ReduceToUnit,calcNormal,ProcessHelix,ViewOrtho,ViewPerspective,RenderToTexture,DrawBlur,Initialize,Deinitialize,Update,Draw,Selection,PostMessage,获取分辨率,修改分辨率,AdjustWindowRectEx,CreateWindowEx,DestroyWindow,ShowWindow,GetWindowLong,RegisterClass,GetModuleHandle,WaitMessage,PeekMessage,UnregisterClass,LoadIcon,LoadCursor,DispatchMessage,PostQuitMessage,DefWindowProc,glGetIntegerv,glSelectBuffer,glRenderMode,GetClientRect,gluPickMatrix,glTexImage2D,glCopyTexImage2D,
======程序集1
| |
| |------ _启动子程序
| |
| |------ TerminateApplication
| |
| |------ ToggleFullscreen
| |
| |------ ReshapeGL
| |
| |------ ChangeScreenResolution
| |
| |------ CreateWindowGL
| |
| |------ DestroyWindowGL
| |
| |------ WindowProc
| |
| |------ RegisterWindowClass
| |
| |
======程序集2
| |
| |------ HIWORD
| |
| |------ LOWORD
| |
| |------ sqrt
| |
| |
======程序集3
| |
| |------ EmptyTexture
| |
| |------ ReduceToUnit
| |
| |------ calcNormal
| |
| |------ ProcessHelix
| |
| |------ ViewOrtho
| |
| |------ ViewPerspective
| |
| |------ RenderToTexture
| |
| |------ DrawBlur
| |
| |------ Initialize
| |
| |------ Deinitialize
| |
| |------ Update
| |
| |------ Draw
| |
| |------ Selection
| |
| |
======调用的Dll
| |
| |---[dll]------ PostMessage
| |
| |---[dll]------ 获取分辨率
| |
| |---[dll]------ 修改分辨率
| |
| |---[dll]------ AdjustWindowRectEx
| |
| |---[dll]------ CreateWindowEx
| |
| |---[dll]------ DestroyWindow
| |
| |---[dll]------ ShowWindow
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ RegisterClass
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ WaitMessage
| |
| |---[dll]------ PeekMessage
| |
| |---[dll]------ UnregisterClass
| |
| |---[dll]------ LoadIcon
| |
| |---[dll]------ LoadCursor
| |
| |---[dll]------ DispatchMessage
| |
| |---[dll]------ PostQuitMessage
| |
| |---[dll]------ DefWindowProc
| |
| |---[dll]------ glGetIntegerv
| |
| |---[dll]------ glSelectBuffer
| |
| |---[dll]------ glRenderMode
| |
| |---[dll]------ GetClientRect
| |
| |---[dll]------ gluPickMatrix
| |
| |---[dll]------ glTexImage2D
| |
| |---[dll]------ glCopyTexImage2D
调用的DLL命令:
.DLL命令 PostMessage, 逻辑型, , "PostMessageA", , 从线索消息队列中返回一条消息
.参数 hWnd, 整数型
.参数 Msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 获取分辨率, 整数型, , "EnumDisplaySettingsA"
.参数 lpszDeviceName
.参数 iModeNum
.参数 lpDevMode, 短整数型, 传址 数组
.DLL命令 修改分辨率, 整数型, , "ChangeDisplaySettingsA"
.参数 lpDevMode, 短整数型, 传址 数组
.参数 dwFlags, 整数型, , 其中的参数二的值4为临时改变分辨率,1为永久改变。
.DLL命令 AdjustWindowRectEx, 逻辑型, , "AdjustWindowRectEx", , BOOL AdjustWindowRectEx(LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle);
.参数 lpRect, RECT
.参数 dwStyle
.参数 bMenu, 逻辑型
.参数 dwExStyle
.DLL命令 CreateWindowEx, 整数型, "user32.dll", "CreateWindowExA"
.参数 扩展风格, 整数型
.参数 类名, 文本型, , 刚才注册的类名
.参数 窗口标题, 文本型
.参数 风格, 整数型
.参数 屏幕横坐标, 整数型
.参数 屏幕纵坐标, 整数型
.参数 宽度, 整数型
.参数 高度, 整数型
.参数 父窗口句柄, 整数型, , 没有就写0
.参数 菜单句柄, 整数型
.参数 模块句柄, 整数型
.参数 参数, GL_Window, 传址
.DLL命令 DestroyWindow, 逻辑型, "user32.dll", "DestroyWindow"
.参数 hWnd, 整数型
.DLL命令 ShowWindow, 整数型, "user32.dll", "ShowWindow"
.参数 hwnd, 整数型
.参数 nCmdShow, 整数型
.DLL命令 GetWindowLong, 整数型, "user32", "GetWindowLongA", , 从指定窗口的结构中取得信息 由nIndex决定。零表示出错。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲为其获取信息的窗口的句柄
.参数 属性, 整数型, , 欲取回的信息,可以是下述任何一个常数:;GWL_EXSTYLE:扩展窗口样式;GWL_STYLE:窗口样式;GWL_WNDPROC:该窗口的窗口函数的地址;GWL_HINSTANCE:拥有窗口的实例的句柄;GWL_HWNDPARENT:该窗口之父的句柄。不要用SetWindowWord来改变这个值;GWL_ID:对话框中一个子窗口的标识符;GWL_USERDATA:含义由应用程序规定;DWL_DLGPROC:这个窗口的对话框函数地址;DWL_MSGRESULT:在对话框函数中处理的一条消息返回的值;DWL_USER:含义由应用程序规定;
.DLL命令 RegisterClass, 整数型, "user32.dll", "RegisterClassA", , 注册窗口类
.参数 Class, WNDCLASS, 传址, 窗口的类结构
.DLL命令 GetModuleHandle, 整数型, , "GetModuleHandleA"
.参数 程序名, 文本型
.DLL命令 WaitMessage, , , "WaitMessage"
.DLL命令 PeekMessage, 整数型, "user32.dll", "PeekMessageA", , BOOL PeekMessage(LPMSG IpMsg,HWND hWnd,UINT wMSGfilterMin,UINT wMsgFilterMax,UINT wRemoveMsg)
.参数 lpMsg, MSG, 传址
.参数 hwnd, 整数型
.参数 wMsgFilterMin, 整数型
.参数 wMsgFilterMax, 整数型
.参数 wRemoveMsg, 整数型
.DLL命令 UnregisterClass, 逻辑型, "user32.dll", "UnregisterClassA"
.参数 lpClassName, 文本型, 传址
.参数 hInstance, 整数型
.DLL命令 LoadIcon, 整数型, "user32.dll", "LoadIconA", , 从指定的模块或应用程序实例中载入一个图标
.参数 实例句柄, 整数型, , hInstance,参见相关帮助
.参数 图标标识, , , lpIconName,作为一个字串,指定欲载入的图标资源
.DLL命令 LoadCursor, 整数型, "user32.dll", "LoadCursorA", , 从指定的模块或应用程序实例中载入一个鼠标指针
.参数 实例句柄, 整数型, , hInstance,参见相关帮助
.参数 鼠标指针标识, , , lpCursorName,参见相关帮助
.DLL命令 DispatchMessage, 整数型, "user32.dll", "DispatchMessageA"
.参数 lpMsg, MSG, 传址
.DLL命令 PostQuitMessage, , "user32.dll", "PostQuitMessage"
.参数 nExitCode, 整数型
.DLL命令 DefWindowProc, 整数型, "user32.dll", "DefWindowProcA"
.参数 hwnd, 整数型
.参数 wMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 glGetIntegerv, , "opengl32", "glGetIntegerv"
.参数 pname, 整数型
.参数 params, 整数型, 传址 数组
.DLL命令 glSelectBuffer, , "opengl32", "glSelectBuffer"
.参数 size, 整数型
.参数 buffer, 整数型, 数组
.DLL命令 glRenderMode, 整数型, "opengl32", "glRenderMode"
.参数 mode, 整数型
.DLL命令 GetClientRect, 整数型, "user32", "GetClientRect"
.参数 窗口句柄, 整数型
.参数 矩形区域, RECT
.DLL命令 gluPickMatrix, , "Glu32", "gluPickMatrix"
.参数 x, 双精度小数型
.参数 y, 双精度小数型
.参数 width, 双精度小数型
.参数 height, 双精度小数型
.参数 viewport, 整数型, 数组
.DLL命令 glTexImage2D, , "opengl32.dll", "glTexImage2D", ,
.参数 target, 整数型
.参数 level, 整数型
.参数 components, 整数型
.参数 width, 整数型
.参数 height, 整数型
.参数 border, 整数型
.参数 format, 整数型
.参数 type, 整数型
.参数 pixels, 字节集
.DLL命令 glCopyTexImage2D, , "opengl32.dll", "glCopyTexImage2D"
.参数 target, 整数型
.参数 level, 整数型
.参数 internalFormat, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 width, 整数型
.参数 height, 整数型
.参数 border, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。