易语言OpenGL教程第39课物理模拟源码
系统结构:TerminateApplication,ToggleFullscreen,ReshapeGL,ChangeScreenResolution,CreateWindowGL,DestroyWindowGL,WindowProc,RegisterWindowClass,HIWORD,LOWORD,sqrtf,BuildFont,KillFont,glPrint,Initialize,Deinitialize,Update,Draw,Selection,补齐位数,this,X,Y,Z,清空,初始化_xyz,加,减,乘,除,加上,减去,乘以,除以,置反,取反,缩放,取缩放,长度,置归一,取归一,清空,清除力,质量,位置,速度,力,加力,模拟,清空,初始化物体,个数,置全部物体,置单个物体,取单个物体,清空物体力,应用力,模拟,全程模拟,初始化匀速物体,加速度,初始化加速物体,应用力,弹性系数,连接方向,初始化弹性物体,应用力,PostMessage,获取分辨率,修改分辨率,AdjustWindowRectEx,CreateWindowEx,DestroyWindow,ShowWindow,GetWindowLong,RegisterClass,GetModuleHandle,WaitMessage,PeekMessage,UnregisterClass,LoadIcon,LoadCursor,DispatchMessage,PostQuitMessage,DefWindowProc,glGetIntegerv,glSelectBuffer,glRenderMode,GetClientRect,gluPickMatrix,glTexImage2D,CreateFont,SelectObject,DeleteObject,glPushAttrib,glPopAttrib,wglUseFontOutlines,
======程序集1
| |
| |------ _启动子程序
| |
| |------ TerminateApplication
| |
| |------ ToggleFullscreen
| |
| |------ ReshapeGL
| |
| |------ ChangeScreenResolution
| |
| |------ CreateWindowGL
| |
| |------ DestroyWindowGL
| |
| |------ WindowProc
| |
| |------ RegisterWindowClass
| |
| |
======程序集2
| |
| |------ HIWORD
| |
| |------ LOWORD
| |
| |------ sqrtf
| |
| |
======程序集3
| |
| |------ BuildFont
| |
| |------ KillFont
| |
| |------ glPrint
| |
| |------ Initialize
| |
| |------ Deinitialize
| |
| |------ Update
| |
| |------ Draw
| |
| |------ Selection
| |
| |------ 补齐位数
| |
| |
======C向量
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ this
| |
| |------ X
| |
| |------ Y
| |
| |------ Z
| |
| |------ 清空
| |
| |------ 初始化_xyz
| |
| |------ 加
| |
| |------ 减
| |
| |------ 乘
| |
| |------ 除
| |
| |------ 加上
| |
| |------ 减去
| |
| |------ 乘以
| |
| |------ 除以
| |
| |------ 置反
| |
| |------ 取反
| |
| |------ 缩放
| |
| |------ 取缩放
| |
| |------ 长度
| |
| |------ 置归一
| |
| |------ 取归一
| |
| |
======C物理属性
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 清空
| |
| |------ 清除力
| |
| |------ 质量
| |
| |------ 位置
| |
| |------ 速度
| |
| |------ 力
| |
| |------ 加力
| |
| |------ 模拟
| |
| |
======C模拟
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 清空
| |
| |------ 初始化物体
| |
| |------ 个数
| |
| |------ 置全部物体
| |
| |------ 置单个物体
| |
| |------ 取单个物体
| |
| |------ 清空物体力
| |
| |------ 应用力
| |
| |------ 模拟
| |
| |------ 全程模拟
| |
| |
======C匀速物体
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始化匀速物体
| |
| |
======C下落物体
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 加速度
| |
| |------ 初始化加速物体
| |
| |------ 应用力
| |
| |
======C弹性物体
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 弹性系数
| |
| |------ 连接方向
| |
| |------ 初始化弹性物体
| |
| |------ 应用力
| |
| |
======调用的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]------ CreateFont
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ glPushAttrib
| |
| |---[dll]------ glPopAttrib
| |
| |---[dll]------ wglUseFontOutlines
调用的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命令 CreateFont, 整数型, "gdi32.dll", "CreateFontA", , 执行成功则返回逻辑字体的句柄,零表示失败
.参数 字体高度, 整数型, , Height,字体高度
.参数 字体宽度, 整数型, , Width,字体宽度
.参数 旋转, 整数型, , Escapement,旋转
.参数 Orientation, 整数型, , Orientation
.参数 加粗, 整数型, , Weight,加粗
.参数 倾斜, 整数型, , Italic,倾斜
.参数 下划线, 整数型, , Underline,下划线
.参数 删除线, 整数型, , StrikeOut,删除线
.参数 内码, 整数型, , CharSet,内码
.参数 OutputPrecision, 整数型, , OutputPrecision
.参数 CP, 整数型, , ClipPrecision
.参数 输出质量, 整数型, , Quality,输出质量
.参数 PAF, 整数型, , PitchAndFamily
.参数 新字体名, 文本型, , FaceName,新字体名
.DLL命令 SelectObject, 整数型, "gdi32.dll", "SelectObject", , SelectObject
.参数 场景句柄, 整数型, , hdc
.参数 对象句柄, 整数型, , hobject
.DLL命令 DeleteObject, 整数型, "gdi32.dll", "DeleteObject", , DeleteObject
.参数 对象句柄, 整数型, , hObject,一个GDI对象的句柄
.DLL命令 glPushAttrib, , "Opengl32.dll", "glPushAttrib"
.参数 mask
.DLL命令 glPopAttrib, 整数型, "opengl32.dll", "glPopAttrib"
.DLL命令 wglUseFontOutlines, 整数型, "opengl32.dll", "wglUseFontOutlinesA"
.参数 hdc, 整数型
.参数 first, 整数型
.参数 count, 整数型
.参数 listBase, 整数型
.参数 deviation, 小数型
.参数 extrusion, 小数型
.参数 format, 整数型
.参数 lpgmf, GlyphMetricsFloat, 传址 数组
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。