• Graphics—菜单设置笔记


    深入研究OpenGL后,才发现自己以前所用的光照和纹理都是皮毛!!!
    头疼,就接着上一篇界面设置,今天记录一下菜单的设置。

    一、打开资源视图/Menu/IDR_StudyTYPE


    手动加入一个“图形学实验”,再加入一个选项“绘图一”

    假如绘图一就是上一次绘制的图形,这样的话就需要把开始界面的图形清空,当然这很容易,我们注释掉drawpicture()函数里面的代码即可

    二、加入事件处理程序


    为了方便,记为OnOne()函数,不过要注意这是对视图类View.h进行操作的(还是建议了解一下View.h、App.h等)

    这样我们直接把刚才注释的代码copy到OnOne()函数就行了?当然不可以啊!我们可以在View.cpp里面设置一个变量Case来标记绘图,这样在OnOne()函数里面,加入一句话Case = 1,然后在DrawPicture()函数里面加个判断,if(Case == 1)就执行那段被注释的代码。

    我们运行一下结果,咦?还是没变化?

    当然啦~~~这里简要说下原因,这是没有调用OnDraw()函数的原因。
    OnDraw()函数的调用,(1)窗口刚创建的时候(2)视图窗口改变(3)向系统发送WM_PAINT消息。
    这样的话,我们在OnOne()函数再加一句SendMessage(WM_PAINT);即可。

    如果你还想加入其他绘图实验,都是一个套路。

    但是如果加入的图形中既有二维图形,又有三维图形,要怎么办呢?为了保证图形显示无误,我们就舍弃掉OnSize()、OnInitialUpdate()函数,在绘图的时候加上OpenGL中的Init()、Reshape()函数即可。

    二维和三维的Reshape()写法在在Visual Studio 2013下利用MFC框架配置OpenGL可以找到。

  • 相关阅读:
    kali禁止自动挂载U盘(gnome)
    Kali开启远程桌面服务(gnome桌面环境)
    KVM安装Win7时USB3.0无法使用的坑
    Linux上VLAN的创建
    小程序 局部页面 自定义滚动条
    两个图层一上一下div view
    js 数组去重
    css > 的写法 html
    块级元素和行内元素
    小程序 css 文字溢出,长度过长用 。。。
  • 原文地址:https://www.cnblogs.com/Czhenyu/p/6472576.html
Copyright © 2020-2023  润新知