古剑奇谭鬼面人是谁是3d的吗

后使用我的收藏没有帐号?
所属分类: &
查看: 8|回复: 0
古剑奇谭是3d的吗
发表于 4&天前
uc头条有说这些吗?
点这里&&&&
移动版全平台公测晒图赢大奖!|  
|  
|  
|  
|  
只需一步,快速开始
查看: 1559|回复: 11
另类3D模式 玩法,杂谈与分享
主题帖子积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
多日不来此版块,古剑奇谭2&&另类3D模式 玩法,特来分享,
事出有因,待老夫慢慢道来……
最近入了一块 VECTOR 150 的120G专做系统盘,配合虚拟内存硬盘,感觉飞了起来……。
游戏方面,竟速赛车类,最喜欢画面绝佳的 极品飞车16,忽想体验一下3D游戏模式,
打开显卡驱动面板一看,16这一代极品飞车竟然不支持3D VISION……
网路上找到一款支持游戏3D模式的软件,尝试之后依然无解。
也罢,再试试其它的游戏吧…… ^-^
实现游戏3D化的方式有多种,一些方式成本较高,
需要120HZ的显示器,或3D电视,配合3D眼镜等器件才能实现。
跟现在的4K游戏,4K视频是一个道理,
片源,网络带宽,播放软硬件都没有跟上,只有等其慢慢发展了。
游戏3D模式中,实现成本最低,效果最次的色差式3D,也就是红蓝3D,
老夫本着尝鲜的态度,小试了一下。
在NV的官网中,古剑奇谭2 是支持3D VISION的,
可惜进入游戏中,按CTRL+T 并不能激活 红蓝3D模式。
当然了,除了N卡用户,以及N卡不支持3D模式的游戏,
以及A卡用户就不能享受到游戏的3D模式了么?
非也,IZ 3D这款软件就可以。
N卡的3D VISION是09年推出的第一代,大约11年推出第二代,
那么 早它几年的 仙剑奇侠 4 代 ,能否用3D模式来玩?
新近出的&&合金装备掘起:复仇& &,出击飞龙 ,
N卡的3D VISION支持列表里面还没有,可不可以用3D模式来玩?
下面就来揭晓答案。
主题帖子积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
本帖最后由 blue77100 于
11:47 编辑
继续上面的话题。
&&游戏中要实现3D模式,要求这游戏必须是3D建模,
&&比如&&拳皇13 PC版这种 3D背景,2D人物的游戏,
&&经过尝试是 无法3D游戏化的。
&&而超级街霸4,街霸X铁拳 就可以。
&&当然了,PS2模拟器等模拟器中的游戏,比如战神1代.2代
也可以实现3D化游戏模式,这样给玩家的感受要比2D平面好多了。
首先,最重要的是,实现游戏3D化,你的系统最低要是WIN7。
XP什么的太古老了,抛弃它吧。
如果你是N卡,用原生的3D VISION就好,
除非你是A卡,或者 3D VISION中暂不支持的游戏,可以用IZ 3D 一试。
IZ 3D 可以下载两个版本,1.12和 1.13,这软件试用期是30天。
30天到期后除非重装系统,卸掉软件再重装是不行的。
不重装系统,可行的方法是,卸掉原来安装的软件,重启,
再安装另一个版本的软件,就可以再试用30天,
到期之后,卸掉再装另一个版本就好了,反复操作即可。
软件界面如下:
软件设置如第一张图,第三张图是热建之类。
如不想游戏3D效果了,按第二张图设置,再关掉软件就行了。
选& &优化/红蓝&&这一项可以 最大程度的 消除立体图象 边缘的黑影,得到更好的体验。
主题帖子积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
打开这款软件,设置好,进入古剑奇谭2 游戏。
左上角的 游戏针数 及 3D状态显示,可以在IZ 3D中设置是否显示。
按小键盘上的*号键,打开 IZ 3D的 游戏3D模式,见下图:
左上角 变成了 立体模式。
我们进入游戏看下效果:
现在你要做的就是,去买一副红蓝3D眼镜,30块包邮的那种就行,
戴上就可以体验到立体游戏了。
在IZ 3D中可以调整3D游戏模式的景深,使3D效果更凸出。
PS: 玩家尝下鲜就好了,长期使用当心眼睛……
主题帖子积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
仙剑,古剑 本是一家。
那么第一款&&3D化的 仙剑4,有了宽屏补丁,有了语音,还能用3D模式来玩么?
因为年代久远,那个时候3D VISION还没有开发出来……。
答案是肯定的,看下图:
爽啊,有时间终于可以用3D化的视角来重温经典了,
当然了,仙剑5,仙剑5前传,轩辕剑之类的都可以一试。
主题帖子积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
那么,近来大热的 合金装备:复仇& & 出击飞龙行不行呢?
3D VISION里面还没有支持,广大A卡用户能不能玩呢?
答案都在下面的图片中:
吐曹一下,出击飞龙在360,PS3上也就是支持DX9的游戏,
PC版故意抬高要求,要64位WIN7以上系统,DX11的显卡才可以玩。
CAPCOM这次做的有点过了。
近来这两部爽快之作,终于可以用3D模式来玩了。
当然了,配合 红蓝眼镜,
可以用暴风影音等软件来播放原生的3D影片,
如上下格式,左右格式等,
也可以播放2D转3D的影片,
什么高清风光,记录片,电影,
岛国爱情动作片,都可以身临其境了。^0^
最后,总结一下要点:
显卡是N卡的,直接用3D VISION的 红蓝模式
玩N卡不支持的3D游戏,或是A卡用户,使用IZ 3D软件。
系统至少是WIN7系统,一副红蓝眼镜。
最后的最后,开启3D游戏模式,游戏针数会下降一半,
所以,准备一块好的显卡是必须的,
不然,只能降低分辩率,降低游戏特效了。
这种低成本,效果比较差的3D游戏模式,
尝鲜就好,注意身体,当心眼睛……。 0_0
主题帖子积分
波奇肥喵,肥喵波奇
贡献度1689
好高端,但是首先,你要有一个好显卡
主题帖子积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
一团毛球 发表于
好高端,但是首先,你要有一个好显卡
试了一下,效果还过得去,眼睛累,洗洗睡了。
古剑ONLINE 出来了,某版不试一下? ^-^
主题帖子积分
新手玩家, 积分 5, 距离下一级还需 25 积分
新手玩家, 积分 5, 距离下一级还需 25 积分
好累眼,试试就行,长玩还是算了。
主题帖子积分
初级玩家, 积分 66, 距离下一级还需 34 积分
初级玩家, 积分 66, 距离下一级还需 34 积分
支持楼主!
主题帖子积分
波奇肥喵,肥喵波奇
贡献度1689
blue77100 发表于
试了一下,效果还过得去,眼睛累,洗洗睡了。
古剑ONLINE 出来了,某版不试一下? ^-^ ...
看情况,看视频预告感觉一般啊
主题帖子积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
游戏精英, 积分 3542, 距离下一级还需 5458 积分
一团毛球 发表于
看情况,看视频预告感觉一般啊
就等 明年 仙6了,网游实在没兴趣。
某版如果想尝试 剑灵, 我那还有一张游戏装备卡在吃灰……。
近来入了一块 西捷 双碟2TB的硬盘,原来1TB的硬盘进博物馆了。
某版可以 考虑 给笔记本 换个SSD硬盘,
提升开关机,系统运行速度,把游戏放进去,网游读图也快了。
主题帖子积分
中级玩家, 积分 154, 距离下一级还需 96 积分
中级玩家, 积分 154, 距离下一级还需 96 积分
好牛叉的感觉
Powered by收藏的论坛
《古剑奇谭》 打造国产3D视觉盛宴
&&&& 2010年NVIDIA校园行第三季已经开跑小有一月,并先后走访沈阳、西安两座城市四所大型高校,全新的&爱玩酷 更爱独显&2010英伟达NVIDIA高校明星挑战赛,给同学们带来全新的体验,不一样的视觉感受,最前沿的科技技术,以及全新知识。同时,本次巡展活动也受到了《》官方的大力支持。由《古剑奇谭》提供的精美礼品倍受学生喜爱,而且NVIDIA还为在场观众进行了精彩的3D技术演示,让所有《古剑奇谭》玩家见识到了不一样的古剑世界。本次活动已经在长沙大学、湖南大学、浙江工业大学、太原理工大学、山西财经大学、浙江理工大学等高等学府火热展开,让我们一同走进活动现场,感受热闹非凡的精彩展示和试玩体验。《古剑奇谭》走进太原理工大学太原理工大学同学现场试玩3D版《古剑奇谭》雨中忙碌
提示:键盘也能翻页,试试“← →”键
近期游戏热闻
你对该游戏感兴趣吗?您好, []|
3D角色扮演游戏《古剑奇谭》今年暑期发售
《古剑奇谭》:由上海烛龙苦心研发两年多、GameBar代理运营的大型3D角色扮演游戏(单机游戏)。 想必很多玩家的心里与我们一样藏着两个美好的梦:梦想有朝一日,我们能在海外的软件店货架上看到国人完全原创的单机大作;梦想有朝一日,我们也能做出堪比《暗黑破坏神》、《最终幻想》那样优秀的单机游戏。我们也时常会怀念那盛世辉煌的2000年。那一年,国内单机游戏研发商有30多家。那一年,软件店里摆满了琳琅满目的单机游戏,年内上市的国内外新作有300多款。而10年后的今天,我们却成为了坚守在这块单机游戏阵地上不多的“幸存者”,而幸存的背后,饱含了无数的艰辛与汗水。而当这一切都化作玩家认可时,我们相信那一刻将是无比幸福的。历时两年多漫长的等待,终于迎来了这个足以让你我激动不已的时刻。今天,我们正式向各位公布这个消息——《古剑奇谭》,这款原创单机仙侠类角色扮演游戏伴随着将近3年的研发周期,终于将要在2010年暑期档隆重上市!自2000年-2004年的辉煌之后,国产单机游戏逐渐走入低谷,其原因无疑是多方面的。资金的不充足、人才的缺乏、技术的不成熟、传统渠道退化、盗版等等原因都促成了今天的局面。在网络游戏盛行的今天,单机游戏显得如此单薄,但我们相信,品质依然能够主导一切,即使环境如斯,单机游戏尤其是国人心目中那份永远的仙侠情结加之于精良的技术实力和故事架构之上,仍然能够重新谱写一曲不朽传说!也许单凭数款游戏不能改变国产单机行业兴衰,但我们依然相信,有梦想与责任感共同浇筑的作品终将得到玩家们的认可,同时,我们也相信,有了广大玩家们的支持,我们的梦想会更加精彩。纵观游戏史上成功的游戏,无一不拥有庞大的世界观与史诗般的剧情呈现。这次《古剑奇谭》在企划上精心构思,与传统仙侠类游戏不同,本次游戏的世界观采用了极其宏大的背景,立足于中国太古神话, 采用架空的历史设定,但在其中融入了众多真实的人文地理风貌。我们希望能够通过最合适的方式,将这些带有浓郁古韵和中国味的风物呈现在玩家的眼前。以一个比水墨风更真实一些的世界作为舞台,来承载这一世的豪气和柔情。经过制作人员的多方尝试和研究,游戏最终选用了淡柔的色彩风格,匹配较为写实的贴图材质,和真实比例的场景建模,佐以雾效、景深等程序支持,描绘出了一个风格清丽,古韵浓郁的游戏世界。而故事的主角将背着一把和他的命运休戚相关的远古凶剑,开始一段涅槃之旅。在旅途中去追寻那关于远古三皇五帝的传奇历史,去追寻那自我心中的侠义和正气,追寻那只属于人间的温暖和柔情。而玩家也将追随游戏主角的脚步,去共同经历那一段爱恨交织的旅途... 焚寂凤来琴在梦想与责任、心酸与悲壮之间,《古剑奇谭》终于将要与大家见面了,全新的图像风格,强大的Gamebryo引擎,它不仅演绎了中国武侠的文化底蕴,更蕴含着我们对单机游戏、对无数玩家的那份真挚情感! (人民网-游戏频道)[责任编辑:brookli]
(请登录发言,并遵守)
如果你对科技频道有任何意见或建议,请到交流平台反馈。【】
新闻排行财经科普数码科技
Copyright & 1998 - 2017 Tencent. All Rights Reserved2245人阅读
opengl(2)
也是简单程序,就是加了个背景,然后六个主角的图片作为纹理贴图,覆盖正方体的表面。
貌似旋转起来的时候有部分图案不是很清楚,不过无伤大雅,无伤大雅~~(嘿嘿)
用MFC写的,所以贴上view类的代码;
// posterView.h : interface of the CposterView class
#pragma once
class CposterView : public CView
protected: // create from serialization only
CposterView();
DECLARE_DYNCREATE(CposterView)
// Attributes
CposterDoc* GetDocument()
// Operations
// Overrides
virtual void OnDraw(CDC* pDC);
// overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
// Implementation
virtual ~CposterView();
#ifdef _DEBUG
virtual void AssertValid()
virtual void Dump(CDumpContext& dc)
protected:
// Generated message map functions
protected:
afx_msg void OnFilePrintPreview();
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
DECLARE_MESSAGE_MAP()
HGLRC m_hRC;
CDC* m_pDC;
GLuint texture[10];
BOOL InitializeOpenGL(void);
BOOL SetupPixelFormat(void);
void RenderScene(void);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnDestroy();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnSize(UINT nType, int cx, int cy);
BOOL LoadTexture(void);
afx_msg void OnTimer(UINT_PTR nIDEvent);
int spinX;
int spinY;
int spinZ;
#ifndef _DEBUG
// debug version in posterView.cpp
inline CposterDoc* CposterView::GetDocument() const
{ return reinterpret_cast&CposterDoc*&(m_pDocument); }
view类的cpp文件
// posterView.cpp : implementation of the CposterView class
#include "stdafx.h"
// SHARED_HANDLERS can be defined in an ATL project implementing preview, thumbnail
// and search filter handlers and allows sharing of document code with that project.
#ifndef SHARED_HANDLERS
#include "poster.h"
#include "posterDoc.h"
#include "posterView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
// CposterView
IMPLEMENT_DYNCREATE(CposterView, CView)
BEGIN_MESSAGE_MAP(CposterView, CView)
ON_WM_CONTEXTMENU()
ON_WM_RBUTTONUP()
ON_WM_CREATE()
ON_WM_DESTROY()
ON_WM_ERASEBKGND()
ON_WM_SIZE()
ON_WM_TIMER()
END_MESSAGE_MAP()
// CposterView construction/destruction
CposterView::CposterView()
// TODO: add construction code here
spinX = 0;
spinY = 0;
spinZ = 0;
CposterView::~CposterView()
BOOL CposterView::PreCreateWindow(CREATESTRUCT& cs)
// TODO: Modify the Window class or styles here by modifying
the CREATESTRUCT cs
cs.style |= WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
return CView::PreCreateWindow(cs);
// CposterView drawing
void CposterView::OnDraw(CDC* /*pDC*/)
CposterDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
// TODO: add draw code for native data here
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
RenderScene();
glFlush();
void CposterView::OnRButtonUp(UINT /* nFlags */, CPoint point)
ClientToScreen(&point);
OnContextMenu(this, point);
void CposterView::OnContextMenu(CWnd* /* pWnd */, CPoint point)
#ifndef SHARED_HANDLERS
theApp.GetContextMenuManager()-&ShowPopupMenu(IDR_POPUP_EDIT, point.x, point.y, this, TRUE);
// CposterView diagnostics
#ifdef _DEBUG
void CposterView::AssertValid() const
CView::AssertValid();
void CposterView::Dump(CDumpContext& dc) const
CView::Dump(dc);
CposterDoc* CposterView::GetDocument() const // non-debug version is inline
ASSERT(m_pDocument-&IsKindOf(RUNTIME_CLASS(CposterDoc)));
return (CposterDoc*)m_pD
#endif //_DEBUG
// CposterView message handlers
BOOL CposterView::InitializeOpenGL(void)
m_pDC = new CClientDC(this);
if(m_pDC==NULL)
MessageBox(_T("Error Obtaining DC"));
return FALSE;
if(!SetupPixelFormat())
return FALSE;
m_hRC = ::wglCreateContext(m_pDC-&GetSafeHdc());
if(m_hRC == 0)
MessageBox(_T("Error Obtaining RC"));
return FALSE;
if(::wglMakeCurrent(m_pDC-&GetSafeHdc(),m_hRC)==FALSE)
MessageBox(_T("Error Making RC Current"));
return FALSE;
::glClearColor(1.0,1.0,1.0,0.0);
::glClearDepth(1.0);
::glEnable(GL_DEPTH_TEST);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
return TRUE;
BOOL CposterView::SetupPixelFormat(void)
static PIXELFORMATDESCRIPTOR pfd =
sizeof(PIXELFORMATDESCRIPTOR),
//size of this pfd
//version number
PFD_DRAW_TO_WINDOW|
//support window
PFD_SUPPORT_OPENGL|
//support OpenGL
PFD_TYPE_RGBA,
//RGBA type
//24-bit color depth
0,0,0,0,0,0,
//color bits ignored
//no alpha buffer
//shift bit ignored
//no accumulation buffer
//accum bits ignored
//16-bit z-buffer
//no stencil buffer
//no auxiliary buffer
PFD_MAIN_PLANE,
//main layer
//reserved
//layer masks ignored
int m_nPixelFormat = ::ChoosePixelFormat(m_pDC-&GetSafeHdc(),&pfd);
if(m_nPixelFormat== 0)
return FALSE;
if(::SetPixelFormat(m_pDC-&GetSafeHdc(),m_nPixelFormat,&pfd)==FALSE)
return FALSE;
return TRUE;
void CposterView::RenderScene(void)
glEnable(GL_TEXTURE_2D);
glViewport(0,0,840,600);
glColor3f(1.0,1.0,1.0);
glBindTexture(GL_TEXTURE_2D,texture[0]);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex3f(-20.0,-20.0,-15.0);
glTexCoord2f(1.0,0.0);
glVertex3f(20.0,-20.0,-15.0);
glTexCoord2f(1.0,1.0);
glVertex3f(20.0,20.0,-15.0);
glTexCoord2f(0.0,1.0);
glVertex3f(-20.0,20.0,-15.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(spinY,0.0,1.0,0.0);
glRotatef(spinX,1.0,0.0,0.0);
glRotatef(spinZ,0.0,0.0,1.0);
glTexCoord2f(0.0,0.0);
glTexCoord2f(0.0,1.0);
glTexCoord2f(1.0,1.0);
glTexCoord2f(1.0,0.0);
glBindTexture(GL_TEXTURE_2D,texture[1]);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex3f(-10.0,-10.0,10.0);
glTexCoord2f(0.0,1.0); glVertex3f(-10.0,10.0,10.0);
glTexCoord2f(1.0,1.0);
glVertex3f(10.0,10.0,10.0);
glTexCoord2f(1.0,0.0);
glVertex3f(10.0,-10.0,10.0);
glBindTexture(GL_TEXTURE_2D,texture[2]);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex3f(10.0,-10.0,10.0);
glTexCoord2f(0.0,1.0); glVertex3f(10.0,10.0,10.0);
glTexCoord2f(1.0,1.0);
glVertex3f(10.0,10.0,-10.0);
glTexCoord2f(1.0,0.0);
glVertex3f(10.0,-10.0,-10.0);
glBindTexture(GL_TEXTURE_2D,texture[3]);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex3f(10.0,-10.0,-10.0);
glTexCoord2f(0.0,1.0);
glVertex3f(10.0,10.0,-10.0);
glTexCoord2f(1.0,1.0);
glVertex3f(-10.0,10.0,-10.0);
glTexCoord2f(1.0,0.0);
glVertex3f(-10.0,-10.0,-10.0);
glBindTexture(GL_TEXTURE_2D,texture[4]);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex3f(-10.0,-10.0,-10.0);
glTexCoord2f(0.0,1.0);
glVertex3f(-10.0,10.0,-10.0);
glTexCoord2f(1.0,1.0);
glVertex3f(-10.0,10.0,10.0);
glTexCoord2f(1.0,0.0);
glVertex3f(-10.0,-10.0,10.0);
glBindTexture(GL_TEXTURE_2D,texture[5]);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex3f(-10.0,10.0,10.0);
glTexCoord2f(0.0,1.0);
glVertex3f(-10.0,10.0,-10.0);
glTexCoord2f(1.0,1.0);
glVertex3f(10.0,10.0,-10.0);
glTexCoord2f(1.0,0.0);
glVertex3f(10.0,10.0,10.0);
glBindTexture(GL_TEXTURE_2D,texture[6]);
glBegin(GL_QUADS);
glTexCoord2f(0.0,0.0);
glVertex3f(-10.0,-10.0,-10.0);
glTexCoord2f(0.0,1.0);
glVertex3f(10.0,-10.0,-10.0);
glTexCoord2f(1.0,1.0);
glVertex3f(10.0,-10.0,10.0);
glTexCoord2f(1.0,0.0);
glVertex3f(-10.0,-10.0,10.0);
int CposterView::OnCreate(LPCREATESTRUCT lpCreateStruct)
if (CView::OnCreate(lpCreateStruct) == -1)
return -1;
Add your specialized creation code here
InitializeOpenGL();
LoadTexture();
SetTimer(1,500,NULL);
void CposterView::OnDestroy()
CView::OnDestroy();
// TODO: Add your message handler code here
CView::OnDestroy();
// TODO: Add your message handler code here
if(::wglMakeCurrent(NULL,NULL)==FALSE){
MessageBox(_T("could not make RC non-current"));
if(::wglDeleteContext(m_hRC)==FALSE)
MessageBox(_T("could not delete RC"));
delete m_pDC;
m_pDC = NULL;
KillTimer(1);
BOOL CposterView::OnEraseBkgnd(CDC* pDC)
// TODO: Add your message handler code here and/or call default
return TRUE;
void CposterView::OnSize(UINT nType, int cx, int cy)
CView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
glViewport(0,0,cx,cy);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-20.0,20.0,-20.0,20.0,1.0,25.0);
//gluPerspective(100.0f,(GLfloat)cx/(GLfloat)cy,2.0f,100.0f);
//glOrtho(-1.0,1.0,-1.0,1.0,1.5,-1.1);
//gluPerspective(91.0f,(GLfloat)cx/(GLfloat)cy,1.0f,.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 0.0, 15.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
BOOL CposterView::LoadTexture(void)
BOOL flag = FALSE;
AUX_RGBImageRec* TextureImage[8];
// Create Storage Space For The Texture
glGenTextures(7,texture);
// Load The Bitmap, Check For Errors, If Bitmap's Not Found Quit
if (TextureImage[0]=auxDIBImageLoad(_T("res/bkground.bmp")))
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]-&sizeX, TextureImage[0]-&sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]-&data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);
if (TextureImage[1]=auxDIBImageLoad(_T("res/BaiLiTuSu.bmp")))
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[1]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[1]-&sizeX, TextureImage[1]-&sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[1]-&data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
if (TextureImage[2]=auxDIBImageLoad(_T("res/FangLanSheng.bmp")))
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[2]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[2]-&sizeX, TextureImage[2]-&sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[2]-&data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
if (TextureImage[3]=auxDIBImageLoad(_T("res/FengQinXue.bmp")))
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[3]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[3]-&sizeX, TextureImage[3]-&sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[3]-&data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
if (TextureImage[4]=auxDIBImageLoad(_T("res/HongYu.bmp")))
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[4]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[4]-&sizeX, TextureImage[4]-&sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[4]-&data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
if (TextureImage[5]=auxDIBImageLoad(_T("res/XiangLing.bmp")))
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[5]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[5]-&sizeX, TextureImage[5]-&sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[5]-&data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
if (TextureImage[6]=auxDIBImageLoad(_T("res/YunQianshang.bmp")))
// Typical Texture Generation Using Data From The Bitmap
glBindTexture(GL_TEXTURE_2D, texture[6]);
glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[6]-&sizeX, TextureImage[6]-&sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[6]-&data);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
for(i=0;i&=6;++i)
if (TextureImage[i])
// If Texture Exists
if (TextureImage[i]-&data)
// If Texture Image Exists
free(TextureImage[i]-&data);
// Free The Texture Image Memory
free(TextureImage[i]);
// Free The Image Structure
void CposterView::OnTimer(UINT_PTR nIDEvent)
// TODO: Add your message handler code here and/or call default
if(nIDEvent == 1){
switch (rand()%3){
spinX += 30;
spinX %= 360;
spinY += 30;
spinY %= 360;
spinZ += 30;
spinZ %= 360;
Invalidate();
CView::OnTimer(nIDEvent);
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:62509次
排名:千里之外
原创:33篇
转载:10篇
评论:13条
(1)(2)(1)(2)(5)(7)(5)(3)(6)(5)(5)(1)

我要回帖

更多关于 古剑奇谭鬼面人是谁 的文章

 

随机推荐