窗口window 和 视口 viewport 恐龙平铺 源代码
来源:互联网 发布:大数据包括哪些数据 编辑:程序博客网 时间:2024/04/30 08:10
#include<windows.h>
#include<math.h>
#include <gl/GL.h>
#include <gl/GLU.h>
#include <gl/Glut.h>
#include <fstream>
#include <iostream>
using namespace std;
void myDisplay(void);
void myInit(void);
void drawPolyLineFile(char *fileName);
void setWindow(GLdouble left, GLdouble right, GLdouble botton, GLdouble top);
const GLint screenWidth = 640;
const GLint screenHeight = 440;
int main(int argc, char ** argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(screenWidth,screenHeight);
glutInitWindowPosition(100,150);
glutCreateWindow("Dinosaur");
glutDisplayFunc(myDisplay);
myInit();
glutMainLoop();
return 0;
}
void setWindow(GLdouble left, GLdouble right, GLdouble botton, GLdouble top){
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(left,right,botton,top);
}
void drawPolyLineFile(char *fileName){
fstream inStream;
inStream.open(fileName);
if (inStream.fail())
{
return;
}
//file open succeed
GLint numPolys, numLines, x, y;
inStream>>numPolys;
for(int j=0;j<numPolys;j++){
inStream>>numLines;
glBegin(GL_LINE_STRIP);
for(int i=0;i<numLines;++i){
inStream>>x>>y;
glVertex2i(x,y);
}
glEnd();
}
glFlush();
cout<<"file opened"<<endl;
inStream.close();
}
void myDisplay(void){
glClear(GL_COLOR_BUFFER_BIT);
for(int i =0; i < 10; i ++){
for ( int j = 0; j < 10; j++)
{
if ((i+j)%2 == 0)
{
setWindow(0.0,(GLdouble)screenWidth,0.0,(GLdouble)screenHeight);
}
else{//颠倒 左右下上 ==》 左右上下
setWindow(0.0,(GLdouble)screenWidth,(GLdouble)screenHeight,0.0);
}
glViewport(i*64,j*44,64,44);
drawPolyLineFile("D:\\dino.dat");
}
}
}
void myInit(void){
glClearColor(1.0,1.0,1.0,0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glPointSize(1.0);
#include<math.h>
#include <gl/GL.h>
#include <gl/GLU.h>
#include <gl/Glut.h>
#include <fstream>
#include <iostream>
using namespace std;
void myDisplay(void);
void myInit(void);
void drawPolyLineFile(char *fileName);
void setWindow(GLdouble left, GLdouble right, GLdouble botton, GLdouble top);
const GLint screenWidth = 640;
const GLint screenHeight = 440;
int main(int argc, char ** argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(screenWidth,screenHeight);
glutInitWindowPosition(100,150);
glutCreateWindow("Dinosaur");
glutDisplayFunc(myDisplay);
myInit();
glutMainLoop();
return 0;
}
void setWindow(GLdouble left, GLdouble right, GLdouble botton, GLdouble top){
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(left,right,botton,top);
}
void drawPolyLineFile(char *fileName){
fstream inStream;
inStream.open(fileName);
if (inStream.fail())
{
return;
}
//file open succeed
GLint numPolys, numLines, x, y;
inStream>>numPolys;
for(int j=0;j<numPolys;j++){
inStream>>numLines;
glBegin(GL_LINE_STRIP);
for(int i=0;i<numLines;++i){
inStream>>x>>y;
glVertex2i(x,y);
}
glEnd();
}
glFlush();
cout<<"file opened"<<endl;
inStream.close();
}
void myDisplay(void){
glClear(GL_COLOR_BUFFER_BIT);
for(int i =0; i < 10; i ++){
for ( int j = 0; j < 10; j++)
{
if ((i+j)%2 == 0)
{
setWindow(0.0,(GLdouble)screenWidth,0.0,(GLdouble)screenHeight);
}
else{//颠倒 左右下上 ==》 左右上下
setWindow(0.0,(GLdouble)screenWidth,(GLdouble)screenHeight,0.0);
}
glViewport(i*64,j*44,64,44);
drawPolyLineFile("D:\\dino.dat");
}
}
}
void myInit(void){
glClearColor(1.0,1.0,1.0,0.0);
glColor3f(0.0f, 0.0f, 0.0f);
glPointSize(1.0);
}
- 窗口window 和 视口 viewport 恐龙平铺 源代码
- 映射模式/视口(viewport)和窗口(window)
- qt viewport window 视口 窗口
- 视图Ext.Viewport和窗口Ext.Window用法
- 视图Ext.Viewport和窗口Ext.Window用法 1
- 视图Ext.Viewport和窗口Ext.Window用法
- 视图Ext.Viewport和窗口Ext.Window用法
- 视图Ext.Viewport和窗口Ext.Window用法
- 视图Ext.Viewport和窗口Ext.Window用法
- 窗口 视口 更深一层次的使用 平铺图案 之 基础平铺 源代码
- 窗口 视口 更深一层次的使用 平铺图案 之 Truchet平铺 源代码
- Layer层和Pane窗口,Viewport视口
- i3 Tiling Window Manager/ i3 平铺式窗口管理器
- Ext.Panel 面板控件、 Ext.window.Window 窗口控件、 Ext.container.Viewport 布局控件
- window窗口和窗口所有者
- extjs里的viewport 和window的理解,
- 视口viewport和度量iewport
- 恐龙和大公司
- 40道易错C++面试题
- 托管线程状态
- 字符串之间转换
- 利用OpenCV修改图像大小,转换图像格式
- Makefile与Kconfig和.config使用
- 窗口window 和 视口 viewport 恐龙平铺 源代码
- cocos2d-x的多点触碰事件
- libevent学习资料
- 织梦DEDECMS安装发现fsockopen 函数被禁用,解决自带采集问题
- Javascript 面向对象编程(一):封装
- UserLock用于学校防止用户共享Windows网络登录
- 数据库设计三范式
- TCP实现P2P通信、TCP穿越NAT的方法、TCP打洞
- 三种动态调用方法