• 大小: 6.05MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-09-25
  • 语言: 其他
  • 标签: qt  opengl  glsl  3ds  

资源简介

此程序来源于我的一篇博客,欢迎访问。 http://blog.csdn.net/gamesdev/article/details/11994501 ------------------------------------- 欢迎访问我的博客。 http://blog.csdn.net/gamesdev ------------------------------------- Qt的QWidget大家族已经成熟,不会得到太大的发展了,而随着Qt5的发展,新的界面类会崭露头角,比如QWindow、QSurface、QScreen这些类。但现在的状况(Qt5.2即将出了),这些类和模块并不会对现有的GUI模块造成威胁,更不用说取代Qt4的GUI(在Qt5是QtGui和QtWidgets)模块了。自Qt4.4起,Qt拥有了Graphics-View框架,使用这个框架可以更加轻松地在窗口中嵌入任意你想要绘制的元素。但是据我所知,Qt5的那些类无法和Graphics-View框架进行整合,对于想要利用Qt中Graphics-View框架的同行们,只能退回Qt4的类进行开发了,Qt5的这些类对于创建纯OpenGL还是有利的。

资源截图

代码片段和文件信息

/* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
 * ┃     ┏━┣━┣┓  ┏┓┏┓┳┓┏━━┓┣┣━┓ ┓ ┓┣┳━┓       ┃
 * ┃     ┏┏┏╯━┓┳┳━┛┏╯┃┃┃  ┃┣┣━┓┃┃ ┃┃┃         ┃
 * ┃     ┃┃┏━╮┃┗┗┏╯┗┃┃╯┃  ┃┏┣━┓┃┃ ┃╯┣━┓       ┃
 * ┃     ╰┫┏━┻╯┗┳┣┛┏┛┃┃┣━━┫┃┃ ┃┃┃┗╯ ┃         ┃
 * ┃     ┏┫━┳━┫┏┃┣┓┗┃┃╯┃  ┃┃┃ ┃ ┃ ┃ ┣━┓       ┃
 * ┃     ┗┗┗━━╯┗┛┛╯┗╯╰ ┗━━╯ ┛ ┛┗╯ ╰┛┗         ┃
 * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
 * ┃                     Copyright (c) 2013 jiangcaiyang                    ┃
 * ┃ This software is provided ‘as-is‘ without any express or implied      ┃
 * ┃ warranty. In no event will the authors be held liable for any damages  ┃
 * ┃ arising from the use of this software.                                 ┃
 * ┃                                                                        ┃
 * ┃ Permission is granted to anyone to use this software for any purpose  ┃
 * ┃ including commercial applications and to alter it and redistribute it ┃
 * ┃ freely subject to the following restrictions:                         ┃
 * ┃                                                                        ┃
 * ┃ 1. The origin of this software must not be misrepresented; you must    ┃
 * ┃    not claim that you wrote the original software. If you use this     ┃
 * ┃    software in a product an acknowledgment in the product             ┃
 * ┃    documentation would be appreciated but is not required.             ┃
 * ┃ 2. Altered source versions must be plainly marked as such and must    ┃
 * ┃    not be misrepresented as being the original software.               ┃
 * ┃ 3. This notice may not be removed or altered from any source           ┃
 * ┃    distribution.                                                       ┃
 * ┃                                                                        ┃
 * ┃ jiangcaiyang jiangcaiyang123@163.com                                   ┃
 * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
 * ┃ file name: Camera.cpp                                                  ┃
 * ┃ create date: 2013年9月21日星期六 20时5分30秒                           ┃
 * ┃ last modified date: 2013年9月24日星期二 22时12分23秒                   ┃
 * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
 */
#include 
#include “Camera.h“
/*---------------------------------------------------------------------------*/
Camera::Camera( void )
{
    m_Pos = QVector3D( 0 0 0 );
    m_RotateY = 0.0;
    m_RotateH = 0.0;
    m_Len = QVector3D( 0 0 0 );
    m_TryPos = QVector3D( 0 0 0 );
    m_TryRotateY = 0.0;
    m_TryRotateH = 0.0;
    m_Try = false;
}
/*---------------------------------------------------------------------------*/
void Camera::SetPos( const QVector3D pos bool _try )
{
    m_Try = _try;

    if ( m_Try ) m_TryPos = pos;
    else
    {
        m_Pos += pos;
        m_Offset2D += QVector3D( pos.x( ) pos.y( ) 0 );
        m_TryPos = QVector3D( 0 0 0 );
    }
}

void Camera::SetRotateY( float rotateY bool _try )
{
    m_Try = _try;

    if ( m_Try ) m_TryRotateY = rotateY;
    else
    {
        m_RotateY +

评论

共有 条评论