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

  • 大小: 1.79MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-19
  • 語言: 其他
  • 標簽: opengl??nehe??

資源簡介

關于OpenGL天空盒和地面的代碼,可以運行。

資源截圖

代碼片段和文件信息

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

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


Camera*?Camera::m_pCamera?=?NULL;

/**?構造函數?*/
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;

m_pCamera?=?this;
}


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)(?(

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-26?08:48??SkyAndTerrain\
?????目錄???????????0??2018-10-26?08:48??SkyAndTerrain\.vs\
?????目錄???????????0??2018-10-26?08:48??SkyAndTerrain\.vs\SkyAndTerrain\
?????目錄???????????0??2018-10-26?09:07??SkyAndTerrain\.vs\SkyAndTerrain\v15\
?????文件???????21504??2018-10-26?09:07??SkyAndTerrain\.vs\SkyAndTerrain\v15\.suo
?????文件??????327680??2018-10-26?09:07??SkyAndTerrain\.vs\SkyAndTerrain\v15\Browse.VC.db
?????目錄???????????0??2018-10-26?08:49??SkyAndTerrain\.vs\SkyAndTerrain\v15\ipch\
?????目錄???????????0??2018-10-26?08:49??SkyAndTerrain\.vs\SkyAndTerrain\v15\ipch\AutoPCH\
?????目錄???????????0??2018-10-26?08:49??SkyAndTerrain\.vs\SkyAndTerrain\v15\ipch\AutoPCH\cbad7973147ffb9b\
?????文件??????458752??2018-10-26?09:07??SkyAndTerrain\.vs\SkyAndTerrain\v15\ipch\AutoPCH\cbad7973147ffb9b\GLframe.ipch
?????目錄???????????0??2018-10-26?08:49??SkyAndTerrain\.vs\SkyAndTerrain\v15\ipch\AutoPCH\e43f215285514a34\
?????文件??????458752??2018-10-26?08:49??SkyAndTerrain\.vs\SkyAndTerrain\v15\ipch\AutoPCH\e43f215285514a34\CAMERA.ipch
?????目錄???????????0??2018-10-26?08:48??SkyAndTerrain\Backup\
?????文件?????????915??2007-11-13?11:05??SkyAndTerrain\Backup\SkyAndTerrain.sln
?????文件????????2663??2007-11-13?11:05??SkyAndTerrain\CBMPLoader.cpp
?????文件????????1058??2007-11-13?11:05??SkyAndTerrain\CBMPLoader.h
?????文件????????6372??2007-11-13?11:05??SkyAndTerrain\Camera.cpp
?????文件????????1906??2007-11-13?11:05??SkyAndTerrain\Camera.h
?????目錄???????????0??2018-10-26?09:07??SkyAndTerrain\Debug\
?????文件????????2434??2007-11-13?11:05??SkyAndTerrain\Debug\BuildLog.htm
?????文件???????13325??2007-11-13?11:05??SkyAndTerrain\Debug\CBMPLoader.obj
?????文件???????27107??2007-11-13?11:05??SkyAndTerrain\Debug\Camera.obj
?????文件???????15963??2007-11-13?11:05??SkyAndTerrain\Debug\Font.obj
?????文件???????29346??2007-11-13?11:05??SkyAndTerrain\Debug\GLframe.obj
?????文件???????23206??2007-11-13?11:05??SkyAndTerrain\Debug\GLWindow.obj
?????文件??????192512??2007-11-13?11:05??SkyAndTerrain\Debug\SkyAndTerrain.exe
?????文件??????749352??2007-11-13?11:05??SkyAndTerrain\Debug\SkyAndTerrain.ilk
?????文件?????????302??2018-10-26?09:07??SkyAndTerrain\Debug\SkyAndTerrain.log
?????文件???????34998??2007-11-13?11:05??SkyAndTerrain\Debug\SkyAndTerrain.obj
?????文件??????764928??2007-11-13?11:05??SkyAndTerrain\Debug\SkyAndTerrain.pdb
?????文件???????24767??2007-11-13?11:05??SkyAndTerrain\Debug\SkyBox.obj
............此處省略42個文件信息

評論

共有 條評論