freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程課程設(shè)計-游戲程序設(shè)計課程設(shè)計-資料下載頁

2024-11-07 04:20本頁面

【導(dǎo)讀】娛樂一直是計算機的一大應(yīng)用。在中國,隨著網(wǎng)絡(luò)的發(fā)展,休閑化游戲擁。智類等多種游戲類型。最常見的競速類游戲就是賽車游戲,玩家可從疾馳的速。度中獲得刺激感,而從高超技巧帶來的流暢性操作中還可獲取一定的滿足感。蹤和碰撞檢測等幾個部分。場景渲染,和天空渲染等構(gòu)成游戲的渲染畫面,基于。賽車在場景中的漫游和賽車的地形跟蹤系統(tǒng)和碰撞檢測構(gòu)。遠(yuǎn)超越好萊塢電影產(chǎn)業(yè)以及音樂娛樂事業(yè),而成為目前娛樂事業(yè)的最大主流。在這種趨勢下各種小型的低成本的游戲軟件應(yīng)運而生。和娛樂為目的,不僅給緊張工作的人們以輕松,還可以讓人們的大腦得到開發(fā)。3D設(shè)計,對系統(tǒng)配置有一定的要求。作為本系統(tǒng)的開發(fā)工具,MicrosoftVisualC++成為首選。制賽車行駛方向。退出主循環(huán)為止;統(tǒng)和通用游戲邏輯,并根據(jù)結(jié)果在屏幕上繪制下一幀;在功能的實現(xiàn)主要是在GGameMap類中實現(xiàn)的。將半圓形全部畫上,只畫在我們視線內(nèi)的部分就足夠。在繪制是主要使用三角網(wǎng)

  

【正文】 )。 ()。 (0, 0, 0)。 ()。 ()。 glPopMatrix()。 // 左后輪 glPushMatrix()。 glTranslated(WHEEL_X_OFFSET, WHEEL_Y_OFFSET, WHEEL_Z_OFFSET)。 (1, 1, 1)。 ()。 ()。 (0, 0, 0)。 ()。 ()。 glPopMatrix()。 // 左前輪 glPushMatrix()。 glTranslated(WHEEL_X_OFFSET, WHEEL_Y_OFFSET, WHEEL_Z_OFFSET)。 glRotated(mSteerAngle, 0, 1, 0)。 (1, 1, 1)。 ()。 ()。 (0, 0, 0)。 ()。 ()。 glPopMatrix()。 // 右前輪 glPushMatrix()。 glTranslated(WHEEL_X_OFFSET, WHEEL_Y_OFFSET, WHEEL_Z_OFFSET)。 glRotated(mSteerAngle, 0, 1, 0)。 (1, 1, 1)。 ()。 ()。 (0, 0, 0)。 ()。 ()。 glPopMatrix()。 glDisable(GL_LIGHTING)。 } GDashBoard::GDashBoard(GTexture2D *pTex) { mpBoardTex = pTex。 mVAngle = 240。 } void GDashBoard::changePointer(double v) { mVAngle = 240 + v*300/CAR_MAX_SPEED。 } GMiniMap::GMiniMap(GTexture2D *pTex) { mpMapTex = pTex。 // 創(chuàng)建顯示列表 int i, j。 GGameMap *pMap = GGameMap::getCurrent()。 mDisplayList = glGenLists(1)。 glNewList(mDisplayList, GL_COMPILE)。 mpMapTexuse()。 for(i=0。 ipMapmRowCount。 i++) { for(j=0。 jpMapmColCount。 j++) { if(pMapmRoadMap[i][j] = 0) { glPushMatrix()。 glTranslated(j+, i+, 0)。 drawRoadTile(pMapmRoadMap[i][j])。 glPopMatrix()。 } } } glEndList()。 } void GMiniMap::drawRoadTile(char typ) { if(typ 0) return 。 glBegin(GL_QUADS)。 glTexCoord2d(mTexBufs[typ][0], mTexBufs[typ][1])。 glVertex2d(, )。 glTexCoord2d(mTexBufs[typ][2], mTexBufs[typ][3])。 glVertex2d(, )。 glTexCoord2d(mTexBufs[typ][4], mTexBufs[typ][5])。 glVertex2d(, )。 glTexCoord2d(mTexBufs[typ][6], mTexBufs[typ][7])。 glVertex2d(, )。 glEnd()。 } void GMiniMap::draw() { glCallList(mDisplayList)。 double x, z。 x = () / X_SPAN。 z = () / Z_SPAN。 glPushMatrix()。 glTranslated(x, z, 1)。 glDisable(GL_BLEND)。 glColor3d(1, 0, 0)。 glutSolidSphere(, 16, 2)。 glEnable(GL_BLEND)。 glPopMatrix()。 } GCamera::GCamera() { mProjectMode = gPerspective。 (0, 0, 1)。 (0, 0, 1)。 (0, 1, 0)。 mZNear = 。 mZFar = 。 mFovy = 90。 mAspect = 1。 mLeft = 1。 mTop = 1。 mRight = 1。 mBottom = 1。 } void GCamera::setViewVolume(double fovy, double aspect, double zNear, double zFar) { mZNear = zNear。 mZFar = zFar。 mFovy = fovy。 mAspect = aspect。 mTop = zNear*tan(fovy*ANGLE_TO_RADIAN/2)。 mBottom = mTop。 mRight = mTop*aspect。 mLeft = mRight。 } void GCamera::setViewVolume(double left, double right, double bottom, double top, double zNear, double zFar) { mLeft = left。 mRight = right。 mBottom = bottom。 mTop = top。 mZNear = zNear。 mZFar = zFar。 mFovy = 2*atan2(top, zNear)*RADIAN_TO_ANGLE。 mAspect = (mRightmLeft)/(mTopmBottom)。 } void GCamera::project() { glMatrixMode(GL_PROJECTION)。 glLoadIdentity()。 double aspect = 1。 double scrw = mScrWidth = 1 ? mScrWidth : 1。 double scrh = mScrHeight = 1 ? mScrHeight : 1。 aspect = scrw / scrh。 if(mProjectMode == gPerspective) { if(aspect 1) glFrustum(mLeft*aspect, mRight*aspect, mBottom, mTop, mZNear, mZFar)。 else glFrustum(mLeft, mRight, mBottom/aspect, mTop/aspect, mZNear, mZFar)。 } else { if(aspect 1) glOrtho(mLeft*aspect, mRight*aspect, mBottom, mTop, mZNear, mZFar)。 else glOrtho(mLeft, mRight, mBottom/aspect, mTop/aspect, mZNear, mZFar)。 } glMatrixMode(GL_MODELVIEW)。 glViewport(0, 0, mScrWidth, mScrHeight)。 glLoadIdentity()。 } void GCamera::lookAt() { glMatrixMode(GL_MODELVIEW)。 glLoadIdentity()。 gluLookAt((), (), (), ()+(), ()+(), ()+(), (), (), ())。 glGetDoublev(GL_MODELVIEW_MATRIX, mCameraMatrix)。 } void GCamera::moveCamera(double tx, double ty, double tz) { GVector3d tv(tx, ty, tz)。 tv = (())。 (()+())。 (()+())。 (()+())。 } void GCamera::rotateCamera(const GVector3d amp。axis, double rot) { GVector3d up = (mCameraMatrix)。 GVector3d forward = (mCameraMatrix)。 GMatrix3d rm = GMatrix3d::createRotate(rot, axis)。 up = (rm)。 forward = (rm)。 rm = ()。 //mUp = (rm)。 //(0)。 mForward = (rm)。 //printf(up = (%.4f, %.4f, %.4f)\n, (), (), ())。 }
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1