我爱openopen爱我(星星眼 open先生看到我的微博没有点赞但是默默关注了我们的BLUE杂志!就喜欢这样的闷骚男(星星眼!
贴吧:
张脑丸无公害作者:
TTTenky 2014-08-15 21:23 回复:openopen glVertex3f( x, -y, z); // 底面四边形的右上顶点
glVertex3f(-x, -y, z); // 底面四边形的左上顶点
glEnd();
}
void drawcross(void)
{
// display callback, clear frame buffer and z buffer
//glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清除场景和深度缓存
//glLoadIdentity(); // 重置当前矩阵
// 绘制十字架
//glLoadIdentity();
// glTranslatef(3.0f, 0.0f, 0.0f); // 往右移4.0f
glRotatef(15.0f, 0.0f, 1.0f, 0.0f); // 绕Y轴逆时针旋转10度
DrawCube(2.0f, 0.6f, 0.6f); // 绘制一个长方体
DrawCube(0.6f, 2.0f, 0.6f); // 绘制另一个长方体
glLoadIdentity();
// 绘制结束
}
static GLfloat theta[] = {0.0,0.0,0.0};
static GLint axis = 2;
static GLfloat view_x=0.0;
static GLfloat view_y=0.0;
static GLfloat view_z=0.0;
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
/* Update viewer position in modelview matrix */
glLoadIdentity();
gluLookAt(0.0,0.0,4.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
/* rotate cube */
glDepthFunc(GL_LEQUAL);
glTranslatef(view_x, view_y, view_z);
glRotatef(theta[0], 1.0, 0.0, 0.0);
glRotatef(theta[1], 0.0, 1.0, 0.0);
glRotatef(theta[2], 0.0, 0.0, 1.0);
drawcross();
glFlush();
glutSwapBuffers();
}
void mouse(int btn, int state, int x, int y)
{
if(btn==GLUT_LEFT_BUTTON && state == GLUT_DOWN) axis = 0;
if(btn==GLUT_MIDDLE_BUTTON && state == GLUT_DOWN) axis = 1;
贴吧:
open作者:
乂_骷髅王子 2010-11-27 17:03 回复:openopen 几何体的简单变换
#include <stdlib.h>
#include <gl/glut.h>
void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_FLAT);
}
void draw_triangle(void)
{
glBegin (GL_LINE_LOOP);
glVertex2f(0.0, 25.0);
glVertex2f(25.0, -25.0);
glVertex2f(-25.0, -25.0);
glEnd();
}
// 绘制长方体 width,height,depth分别为长方体的长,高和深度
void DrawCube(GLfloat width, GLfloat height ,GLfloat depth)
{
GLfloat x = width/2, y = height/2, z = depth/2;
glBegin(GL_QUADS); // 绘制长方体的各面
// 前面(front)
glColor3f(0.5f, 1.0f, 0.5f); // 设置当前颜色(各对面颜色相同)
glVertex3f(-x, -y, z); // 前面四边形的左下顶点(正视)
glVertex3f( x, -y, z); // 前面四边形的右下顶点
glVertex3f( x, y, z); // 前面四边形的右上顶点
glVertex3f(-x, y, z); // 前面四边形的左上顶点
// 背面(back)
glVertex3f( x, -y, -z); // 背面四边形的左下顶点(正视)
glVertex3f(-x, -y, -z); // 背面四边形的右下顶点
glVertex3f(-x, y, -z); // 背面四边形的右上顶点
glVertex3f( x, y, -z); // 背面四边形的左上顶点
// 右侧面(right)
glColor3f(0.2f, 0.4f, 0.1f);
glVertex3f( x, -y, z); // 右侧面四边形的左下顶点(正视)
glVertex3f( x, -y, -z); // 右侧面四边形的右下顶点
glVertex3f( x, y, -z); // 右侧面四边形的右上顶点
glVertex3f( x, y, z); // 右侧面四边形的左上顶点
// 左侧面(left)
glVertex3f(-x, -y, -z); // 左侧面四边形的左下顶点(正视)
贴吧:
open作者:
乂_骷髅王子 2010-11-27 16:58 回复:openopen glPopMatrix();
// 绘制第一行第三列的球体,有漫反射和镜面反射,高光泽度,无环境光
glPushMatrix();
glTranslatef (1.25, 3.0, 0.0);
glMaterialfv(GL_FRONT, GL_AMBIENT, no_mat);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);
glMaterialfv(GL_FRONT, GL_EMISSION, no_mat);
glutSolidSphere(1.0, 16, 16);
glPopMatrix();
// 绘制第一行第四列的球体,有漫反射和发射光,无环境光或镜面反射光
glPushMatrix();
glTranslatef (3.75, 3.0, 0.0);
glMaterialfv(GL_FRONT, GL_AMBIENT, no_mat);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, no_mat);
glMaterialfv(GL_FRONT, GL_SHININESS, no_shininess);
glMaterialfv(GL_FRONT, GL_EMISSION, mat_emission);
glutSolidSphere(1.0, 16, 16);
glPopMatrix();
// 绘制第二行第一列的球体,有环境光和漫反射光,无镜面反射光
glPushMatrix();
glTranslatef (-3.75, 0.0, 0.0);
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, no_mat);
glMaterialfv(GL_FRONT, GL_SHININESS, no_shininess);
glMaterialfv(GL_FRONT, GL_EMISSION, no_mat);
glutSolidSphere(1.0, 16, 16);
glPopMatrix();
// 绘制第二行第二列的球体,有环境光、漫反射和镜面反射光,低光泽度
glPushMatrix();
glTranslatef (-1.25, 0.0, 0.0);
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, low_shininess);
glMaterialfv(GL_FRONT, GL_EMISSION, no_mat);
glutSolidSphere(1.0, 16, 16);
glPopMatrix();
// 绘制第二行第三列的球体,有环境光、漫反射和镜面反射光,高光泽度
glPushMatrix();
glTranslatef (1.25, 0.0, 0.0);
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glMaterialfv(GL_FRONT, GL_DIFFUSE, mat_diffuse);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, high_shininess);
glMaterialfv(GL_FRONT, GL_EMISSION, no_mat);
贴吧:
open作者:
乂_骷髅王子 2010-11-27 17:07 回复:openopen 回复
这名字贼烦? :何止外省,南北跨半个中国,高铁要12个小时
贴吧:
暴走英雄坛作者:
crane小鹤鹤 2019-09-26 10:41 回复:openopen glVertex3f( x, y, -z); // 右侧面四边形的右上顶点
glVertex3f( x, y, z); // 右侧面四边形的左上顶点
// 左侧面(left)
glVertex3f(-x, -y, -z); // 左侧面四边形的左下顶点(正视)
glVertex3f(-x, -y, z); // 左侧面四边形的右下顶点
glVertex3f(-x, y, z); // 左侧面四边形的右上顶点
glVertex3f(-x, y, -z); // 左侧面四边形的左上顶点
// 顶面(top)
glColor3f(0.2f, 0.8f, 0.0f);
glVertex3f(-x, y, z); // 顶面四边形的左下顶点(正视)
glVertex3f( x, y, z); // 顶面四边形的右下顶点
glVertex3f( x, y, -z); // 顶面四边形的右上顶点
glVertex3f(-x, y, -z); // 顶面四边形的左上顶点
// 底面(bottom)
glVertex3f(-x, -y, -z); // 底面四边形的左下顶点(正视)
glVertex3f( x, -y, -z); // 底面四边形的右下顶点
贴吧:
open作者:
乂_骷髅王子 2010-11-27 17:03 回复:openopen if(btn==GLUT_RIGHT_BUTTON && state == GLUT_DOWN) axis = 2;
theta[axis] += 2.0;
if( theta[axis] > 360.0 ) theta[axis] -= 360.0;
display();
}
void keys(unsigned char key, int x, int y)
{
if(key == 'w'||key=='W') { view_y=view_y+0.1;}
if(key == 's'||key=='S') { view_y=view_y-0.1;}
if(key == 'a'||key=='A') { view_x=view_x-0.1;}
if(key == 'd'||key == 'D') { view_x=view_x+0.1;}
if(key == '1') { view_z=view_z+0.1;}
if(key == '2') { view_z=view_z-0.1;}
display();
}
void myReshape(int w, int h)
{
glViewport(0, 0, w, h);
/* Use a perspective view */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w<=h) glFrustum(-2.0, 2.0, -2.0 * (GLfloat) h/ (GLfloat) w,
2.0* (GLfloat) h / (GLfloat) w, 2.0, 20.0);
else glFrustum(-6.0, 6.0, -6.0 * (GLfloat) w/ (GLfloat) h,
6.0* (GLfloat) w / (GLfloat) h, 2.0, 20.0);
/* Or we can use gluPerspective */
/* gluPerspective(45.0, w/h, -10.0, 10.0); */
glMatrixMode(GL_MODELVIEW);
}
void
main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(500, 500);
glutInitWindowPosition(200,150);
glutCreateWindow("colorcube");
glutReshapeFunc(myReshape);
glutDisplayFunc(display);
glutMouseFunc(mouse);
glutKeyboardFunc(keys);
glEnable(GL_DEPTH_TEST);
glutMainLoop();
}
贴吧:
open作者:
乂_骷髅王子 2010-11-27 17:03 回复:求,openopenopenopenopen!LLLL! 搭楼出~
出薯条小童紫s~230包邮~
出漫步连帽披风,墨绿色,红s~400包邮~
出派对女孩210包邮~可以小刀,打包送福袋~
都是全新未下水~
贴吧:
stayreal作者:
☆→樱←☆ 2014-02-12 23:25 csgo开箱openopen,耶 csgo开箱openopen,耶
贴吧:
csgo交易作者:
付应龙 2018-03-11 09:51 回复:大家去openwrt官网,让他们开发一个程序,能一键刷入op 回复
pc5650 :我有两个都可以刷openwrt的路由器,本来以为刷一下就好了。结果这么麻烦。那些教程都参差不齐。
贴吧:
路由器作者:
zzywdd 2024-05-22 19:23