本文主要讲述如何在VC++环境下实现单文档SDI与OpenGL多视图分割窗口,最终的界面类似3DMAX的主界面。首先给出我实现的效果图:
整个实现过程网络上有很多零散的博文,请各位自行搜索,在基于对话框、单文档或多文档下实现多视图分割窗口的原理是一致的。本文检索了众多相关论文,发现了几篇写的非常细致的论文。在此向相关作者表示感谢。下面给出龚勋的论文原文,大家可以仔细阅读和学习。相信一定能够做出来想要的效果的。但是文中对于全局变量的定义和初始化在VC++2015环境下编译不通过。经过排查,发现这些全局变量在定义的时候不用初始化即可。即论文中下面的代码:
HGLRC g_pBLRC=NULL;//左下RC HGLRC g_pBRRC=NULL;//右下RC HGLRC g_pTLRC=NULL;//左上RC HGLRC g_pTRRC=NULL;//右上RC CDC*g_pBLDC=NULL;//左下DC CDC*g_pBRDC=NULL;//右下DC CDC*g_pTLDC=NULL;//左上DC CDC*g_pTRDC=NULL;//右上DC
应该修改为:
HGLRC g_pBLRC;//左下RC HGLRC g_pBRRC;//右下RC HGLRC g_pTLRC;//左上RC HGLRC g_pTRRC;//右上RC CDC*g_pBLDC;//左下DC CDC*g_pBRDC;//右下DC CDC*g_pTLDC;//左上DC CDC*g_pTRDC;//右上DC
在VC++2015环境下即可编译通过,链接和执行都可以正常通过。关于外部全局变量的使用可以参考VC++定义全局变量及extern用法。
参考论文下载:VC++和OpenGL多视图分割窗口设计与实现参考论文
实例源码下载:
1、RSQuickLook-MFC SD+OpenGL多分割窗口渲染框架-VC++2015-20180429I
3、VCPP
4、glbase
原文地址:https://www.cnblogs.com/rainbow70626/p/8973354.html
时间: 2024-10-17 17:01:20