91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3.67MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-09
  • 語言: 其他
  • 標簽: OpenGL程序??

資源簡介

OpenGL程序構造天空和地面,包含代碼和可執行程序

資源截圖

代碼片段和文件信息

//========================================================
/**
*??@file??????Camera.cpp
*
*??項目描述:?構造天空和地面
*??文件描述:??攝像機類??
*??適用平臺:?Windows98/2000/NT/XP
*??
*??作者:?????BrightXu
*??電子郵件:??huoxini@hotmail.com
*??創建日期:?2006-12-06
*??修改日期:?2006-12-07
*
*/?????
//========================================================

#include?“stdafx.h“
#include?“Camera.h“????????????????????/**#include?“Vector.h“????????????????????/**#include?“GLframe.h“

/**?構造函數?*/
Camera::Camera()
{
/**?初始化向量值?*/
Vector3?zero?=?Vector3(0.0?0.0?0.0);
Vector3?view?=?Vector3(0.0?1.0?0.5);
Vector3?up???=?Vector3(0.0?0.0?1.0);
????
/**?初始化攝像機?*/
m_Position =?zero;
m_View =?view;
m_UpVector =?up;
m_Speed?????=?0.1f;

}


Camera::~Camera()
{
}

/**?設置攝像機的位置朝向和向上向量?*/
void?Camera::setCamera(?float?positionX?float?positionY?float?positionZ
?? float?viewX?????float?viewY?????float?viewZ
float?upVectorX?float?upVectorY?float?upVectorZ)
{
/**?構造向量?*/
Vector3?Position =?Vector3(positionX?positionY?positionZ);
Vector3?View =?Vector3(viewX?viewY?viewZ);
Vector3?UpVector =?Vector3(upVectorX?upVectorY?upVectorZ);

/**?設置攝像機?*/
m_Position?=?Position;
m_View?????=?View;
m_UpVector?=?UpVector;
}

/**??旋轉攝像機方向??*/
void?Camera::rotateView(float?angle?float?x?float?y?float?z)
{
Vector3?newView;

/**?計算方向向量?*/
Vector3?view?=?m_View?-?m_Position;

/**?計算?sin?和cos值?*/
float?cosTheta?=?(float)cos(angle);
float?sinTheta?=?(float)sin(angle);

/**?計算旋轉向量的x值?*/
newView.x??=?(cosTheta?+?(1?-?cosTheta)?*?x?*?x) *?view.x;
newView.x?+=?((1?-?cosTheta)?*?x?*?y?-?z?*?sinTheta) *?view.y;
newView.x?+=?((1?-?cosTheta)?*?x?*?z?+?y?*?sinTheta) *?view.z;

/**?計算旋轉向量的y值?*/
newView.y??=?((1?-?cosTheta)?*?x?*?y?+?z?*?sinTheta) *?view.x;
newView.y?+=?(cosTheta?+?(1?-?cosTheta)?*?y?*?y) *?view.y;
newView.y?+=?((1?-?cosTheta)?*?y?*?z?-?x?*?sinTheta) *?view.z;

/**?計算旋轉向量的z值?*/
newView.z??=?((1?-?cosTheta)?*?x?*?z?-?y?*?sinTheta) *?view.x;
newView.z?+=?((1?-?cosTheta)?*?y?*?z?+?x?*?sinTheta) *?view.y;
newView.z?+=?(cosTheta?+?(1?-?cosTheta)?*?z?*?z) *?view.z;

/**?更新攝像機的方向?*/
m_View?=?m_Position?+?newView;
}

/**?用鼠標旋轉攝像機?*/
void?Camera::setViewByMouse()
{
POINT?mousePos; ??/** int?middleX?=?GetSystemMetrics(SM_CXSCREEN)?>>?1;?/** int?middleY?=?GetSystemMetrics(SM_CYSCREEN)?>>?1;?/** float?angleY?=?0.0f; ??/** float?angleZ?=?0.0f; ??????????????????????/** static?float?currentRotX?=?0.0f;

/**?得到當前鼠標位置?*/
GetCursorPos(&mousePos);
ShowCursor(TRUE);

/**?如果鼠標沒有移動則不用更新?*/
if(?(mousePos.x?==?middleX)?&&?(mousePos.y?==?middleY)?)
return;

/**?設置鼠標位置在屏幕中心?*/
??SetCursorPos(middleX?middleY);

/** angleY?=?(float)(?(middleX?-?mousePos.x)?)?/?1000.0f;
angleZ?=?(float)

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-05-12?15:11??SkyAndTerrain\
?????文件????????2665??2006-12-12?16:53??SkyAndTerrain\CBMPLoader.cpp
?????文件????????1060??2006-12-12?16:53??SkyAndTerrain\CBMPLoader.h
?????文件????????6062??2006-12-12?16:08??SkyAndTerrain\Camera.cpp
?????文件????????1776??2006-12-12?16:01??SkyAndTerrain\Camera.h
?????文件???????????9??2007-03-10?08:49??SkyAndTerrain\Desktop_.ini
?????文件????????4237??2006-12-12?16:30??SkyAndTerrain\Font.cpp
?????文件?????????774??2006-12-12?16:08??SkyAndTerrain\Font.h
?????文件???????10636??2006-12-12?21:09??SkyAndTerrain\GLframe.cpp
?????文件????????3760??2006-12-12?16:08??SkyAndTerrain\GLframe.h
?????文件????????9503??2006-12-12?16:30??SkyAndTerrain\GLWindow.cpp
?????文件????????2385??2006-12-12?16:08??SkyAndTerrain\GLWindow.h
?????目錄???????????0??2015-05-12?15:11??SkyAndTerrain\Release\
?????文件???????13410??2010-07-12?23:01??SkyAndTerrain\Release\BuildLog.htm
?????文件???????21649??2010-07-12?23:01??SkyAndTerrain\Release\CBMPLoader.obj
?????文件???????32372??2010-07-12?23:01??SkyAndTerrain\Release\Camera.obj
?????文件???????24994??2010-07-12?23:01??SkyAndTerrain\Release\Font.obj
?????文件???????36771??2010-07-12?23:01??SkyAndTerrain\Release\GLframe.obj
?????文件???????30603??2010-07-12?23:01??SkyAndTerrain\Release\GLWindow.obj
?????文件???????24911??2010-07-12?23:01??SkyAndTerrain\Release\ScreenDlg.obj
?????文件??????270336??2010-07-12?23:01??SkyAndTerrain\Release\SkyAndTerrain.exe
?????文件?????????145??2010-07-12?23:01??SkyAndTerrain\Release\SkyAndTerrain.exe.intermediate.manifest
?????文件???????44765??2010-07-12?23:01??SkyAndTerrain\Release\SkyAndTerrain.obj
?????文件?????1199104??2010-07-12?23:01??SkyAndTerrain\Release\SkyAndTerrain.pdb
?????文件??????153232??2010-07-12?23:01??SkyAndTerrain\Release\SkyAndTerrain.res
?????文件???????32747??2010-07-12?23:01??SkyAndTerrain\Release\SkyBox.obj
?????文件???????32871??2010-07-12?23:01??SkyAndTerrain\Release\Terrain.obj
?????文件???????25069??2010-07-12?23:01??SkyAndTerrain\Release\Vector.obj
?????文件??????????69??2010-07-12?23:01??SkyAndTerrain\Release\mt.dep
?????文件???????18132??2010-07-12?23:01??SkyAndTerrain\Release\stdafx.obj
?????文件??????257024??2010-07-12?23:01??SkyAndTerrain\Release\vc80.idb
............此處省略41個文件信息

評論

共有 條評論