【C++配OpenGL】 编程造MC!!!
minecraft吧
全部回复
仅看楼主
level 12
whdi😳 楼主
框架
镇楼
2016年02月13日 12点02分 1
level 12
whdi😳 楼主
static const GLfloat VC[][3] = {
{ -0.5f, 0.5f, 0.5f }, //A
{ -0.5f,-0.5f, 0.5f },//B
{ 0.5f,-0.5f, 0.5f },//C
{ 0.5f, 0.5f, 0.5f },//D
{ -0.5f, 0.5f,-0.5f }, //E
{ -0.5f,-0.5f,-0.5f },//F
{ 0.5f,-0.5f,-0.5f },//G
{ 0.5f, 0.5f,-0.5f },//H
};
static const GLint VF[][4] = {
0,1,2,3,//front
3,2,6,7,//right
7,6,5,4,//back
4,5,1,0,//left
1,5,6,2,//bottom
4,0,3,7 //top
};
static const GLfloat TF[][2] = {
0,1,
0,0,
1,0,
1,1
};
这是方块的绘制函数,TF是纹理
2016年02月13日 12点02分 7
小学生看要再等10000年[狂汗]
2016年02月13日 14点02分
小学生真心看不懂。当场砸了网吧3台高级24K黄金光速999兆电脑。如今,正在泼粪洗碗喂牛当马的还债[滑稽]
2016年02月14日 02点02分
glBufferData(GL_ARRAY_BUFFER, sizeof(掏粪), 掏粪, GL_STATIC_DRAW);[滑稽]
2016年02月14日 07点02分
刚刚发现你没用buffer[喷]
2016年02月14日 07点02分
level 12
whdi😳 楼主
目前做了这些,背面剔除,相邻面剔除还有基本WS前后移动
2016年02月13日 13点02分 10
level 12
whdi😳 楼主
临近面剔除的效果,里面是空心的
2016年02月13日 13点02分 11
[滑稽]
2016年02月13日 14点02分
小娜头像好评[吐舌]
2016年02月14日 00点02分
level 12
whdi😳 楼主
if (key == GLFW_KEY_W)
{
playerPosX += cos(playerRotY*piover180)*0.3;
playerPosZ += sin(playerRotY*piover180)*0.3;
}
if (key == GLFW_KEY_S)
{
double head = playerRotY;
playerPosX -= cos(playerRotY*piover180)*0.3;
playerPosZ -= sin(playerRotY*piover180)*0.3;
}
用的是GLFW, WS移动代码原理从某NEHE那里抄的[滑稽]
2016年02月13日 13点02分 12
也可以抄我的(如果你找得到的话)
2016年02月14日 23点02分
@qiaozhanrong 你的,和这个没什么区别的吧。
2016年02月15日 11点02分
@whdi😳 方向没区别,只不过移动的时候我的是用加速度的
2016年02月15日 23点02分
@whdi😳 这样可以做惯性效果
2016年02月15日 23点02分
level 12
whdi😳 楼主
EasyMinecraft 0.01!!!
[无效] http://pan.baidu.com/s/1c1c9RGks
退出按EXC!!!!
2016年02月13日 13点02分 19
这........[喷]
2016年02月13日 13点02分
2016年02月13日 13点02分
@whdi😳 这要OpenGL支持吗?
2016年02月13日 13点02分
win32运行不了[不高兴]
2016年02月13日 13点02分
level 12
whdi😳 楼主
忘记说了shift 下降。。
空格 上升
2016年02月13日 13点02分 20
level 12
whdi😳 楼主
临近面有问题,查BUG中
2016年02月14日 15点02分 53
2016年03月05日 23点03分
你可以直接告诉别人是特性[滑稽]
2018年08月05日 11点08分
level 12
whdi😳 楼主
glBegin(GL_QUADS);
for (int i = 0;i < 6;++i)
for (int j = 0;j < 4;++j)
{
//Air except
if (chunk[x][y][z] != 0)
{
//Near Face except
if (((i == 0 && chunk[x][y][z + 1] == 0) ||
(i == 1 && chunk[x + 1][y][z] == 0) ||
(i == 2 && chunk[x][y][z - 1] == 0) ||
(i == 3 && chunk[x - 1][y][z] == 0) ||
(i == 4 && chunk[x][y - 1][z] == 0) ||
(i == 5 && chunk[x][y + 1][z] == 0))
||//extreme except
(x == chunkSizeX - 1 || x == 0) ||
(y == chunkSizeY - 1 || y == 0) ||
(z == chunkSizeZ - 1 || z == 0))
{
glColor3f(SF[i], SF[i], SF[i]);
glVertex3fv(VC[VF[i][j]]);
glTexCoord2fv(TF[j]);
}
}
}
glEnd();
@qiaozhanrong 我是这样的,一个chunk数组
2016年02月15日 11点02分 61
还是旧版opengl
2016年02月21日 13点02分
@lzycc234 新版该怎么用?[啊]
2016年02月26日 07点02分
回复 charliepu123mc :百度 现代opengl教程
2016年02月27日 02点02分
@whdi😳 learnopengl.com/ 可以看一下,英文的
2017年01月30日 13点01分
level 12
whdi😳 楼主
做了一个伪阴影
2016年02月15日 11点02分 62
level 12
whdi😳 楼主
剔除的bug解决了,
顺便把边界也剔除了,以后无限世界的时候边界用不到
2016年02月15日 12点02分 63
再怎么无限都是伪的。。
2016年02月15日 23点02分
先整个有限的吧 简单
2016年05月04日 01点05分
level 12
whdi😳 楼主
v0.02
[无效] http://pan.baidu.com/s/1qX5s6za
更新:
移动!!!
阴影!!!
重力!!!
2016年02月15日 13点02分 66
游戏1MB不到,剩下27MB的是2015运行库,必装!必装!必装!
2016年02月15日 13点02分
@whdi😳 你得讲清楚无论多少位的电脑都要下x86的。。。而且最好附带下载链接。。。
2016年02月15日 23点02分
@whdi😳 你能教我制作软件吗,我想制作
2016年02月16日 13点02分
level 12
whdi😳 楼主
之前一段时间都很忙,来不及更新。。
现在开更
楼主数学基础一般,为了搞定这个花了不少时间。
2016年02月19日 12点02分 76
圆和三角函数[滑稽] 初三狗笑了
2016年05月28日 05点05分
回复
huangpenghao9
:塞赢,口塞赢,谈真特[滑稽]
2016年05月28日 05点05分
@▫星光熠熠▫ 塞恩,扣塞恩,特整[滑稽]
2017年01月26日 14点01分
回复
huangpenghao9
:初三的圆算什么,这是必修二的好吧
2017年01月28日 04点01分
level 12
whdi😳 楼主
这个XYZ得出来的是视角选定的方块的位移值
就是从当前位置做一条到XYZ的线,然后线如果碰到方块就检测到了,没有则继续加长这条线
2016年02月19日 12点02分 77
level 12
whdi😳 楼主
测试时的标记,红线是X
2016年02月19日 12点02分 78
1 2 3 4 5 6 尾页