屏幕坐标和Opengl的坐标间是怎么转换的,小弟看了很久,也不太明白,求叫各们了。另外有什么好的关于OPENGL的书推荐以下,谢谢
解决方案 »
- 屏幕DrawText如何清除之前
- 如何把cstring类型变量的值赋给void *类型的变量?
- CListCtrl中重写的函数MeasureItem不被调用
- 如何保存第几页,共几页的页码数?
- ***********我有一个类CPerson,如何让它从CObject继承?在New Class对话框的下拉列表里没有CObject类啊*******
- 请问有没有能自动精简程序的软件??
- “参数不足,期待是1”这个关于数据库操作的异常是什么意思?
- 特殊的三角形分裂
- !!!!!哪里可以下载到Listview(或ListControl)的VBX控件!!!
- 哪有OpenGL编程的电子图书下载???
- 谁有关于打印机底层控制的电子书或资料,主要是关于本地打印机,共享打印机,网络打印机的不同控制方法
- 类型转换的小问题
{
CView::OnSize(nType, cx, cy);
GetWindowRect(&m_screen);
/////////////////////////////////////////////////////////////////
//添加窗口缩放时的图形变换函数
if(cy>0&&cx>0)
{
m_factor=(GLdouble)cy/cx;
glViewport(0, 0, cx, cy); // 恢复坐标系
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); // 设置正交投影
glOrtho(-nRange, nRange, -nRange*m_factor, nRange*m_factor, -nRange*m_depth, nRange*m_depth);
//glDepthRange(0,1); glMatrixMode(GL_MODELVIEW);
}
/////////////////////////////////////////////////////////////////
}
glViewport(0, 0, cx, cy);设置了视图的范围
glOrtho(……)设置了你的视图能够显示的以OpenGL单位表示的一个长方体范围。
具体细节你去看看书。