天地之灵学习小组
我们学习小组的OpenGL学习笔记 大家一定要互相折磨呀~~
posts - 150,  comments - 156,  trackbacks - 0

         昨天晚上晕晕乎乎的写完了我的计划(貌似很像是伪码),写完了之后就更晕乎了。稍后的时候看了一下PureMilk的程序惊奇的发现脑袋已经不转了,无奈之下决定第二天早起研究研究。
早晨被一串电话铃声吵醒了,接了个电话连牙都没顾得上刷,就来研究PureMilk的代码。PureMilk的代码看上去就是不一样,第一眼看上去感觉就很舒服,比我用Word打出来的至少从结构上来看好看得多了去了。仔细研究了一下程序,发现PureMilk的代码很有条理,变量的命名让人一眼看上去就知道是什么意思,虽然这一点我也知道但是一些的时候就想不起来用很么命名,连注释写的都是那么的好。至于我的伪代码那简直就没有可比性了,竟然是用Word敲出来的。
         这篇随笔本来应该是早上就上传的,但早上写了一点的时候就不想写了。昨天晚上想睡觉的时候在听雨上搜到了一个小游戏。天哪,我竟然着迷了,竟然玩到了凌晨一点。今天白天又迷了一天,浪费了一天的时间虽然浪费时间的时候我知道,但还是忍不住浪费了。(没有了)

posted @ 2008-10-19 21:39 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(112) | 评论 (0)编辑 收藏
今天成都,排名98,估计去不了。01居然暴力过了,俺的天啊,O(n^2*lgn)的复杂度啊。09拍了两百多行的代码,一个头账了两个大,无限WA。强哥更甚,竟然拍了四百多行,无限WA+TLE。让我的ICPC在累和心不在焉中悄无声息地落幕吧。合肥干脆也不要去了,去现场赛又有什么意义呢,还不是被虐么。
今天我想发段与DrMario无关的代码,因为前两天一发一陀代码,都没什么人评论,反应好像不太好哈。今天发个短小的实现一个具体的小功能的,顺便向各位牛们请教一下问题出在哪儿?
#include <stdio.h>
#include 
<stdlib.h>
#include 
<gl/glut.h>

void setPixel( int x, int y )
{
    glBegin( GL_POINTS );
        glVertex2i( x, y );
    glEnd();
}

void myDisplay(void)
{
    
static GLubyte Mask[72]; //我猜它8位一对齐?
    FILE *fp;
    fp 
= fopen("worm.bmp""rb");
    
if!fp ) //如果没读取成功
        exit(0);
    
if( fseek(fp, -(int)sizeof(Mask), SEEK_END) )//这是什么?
        exit(0);
    
if!fread(Mask, sizeof(Mask), 1, fp) )
        exit(
0);
    fclose(fp);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f( 
0.0f0.0f1.0f );
    glEnable(GL_POLYGON_STIPPLE);
    glPolygonStipple(Mask);
    glRectf(
160240184264 );  // 在左下方绘制一个有镂空效果的正方形
    glDisable(GL_POLYGON_STIPPLE);
    glRectf(
320120480240);    // 在右上方绘制一个无镂空效果的正方形

/*    int x = 0, y = 0;            //我本来想,读进来就可以这样搞了嘛,结果一团乱点,郁闷。
    for ( int i = 0; i < 72; ++i )
    {
        for ( int j = 0; j < 8; ++j )
        {
            if ( (Mask[i]&(1<<j) ) == 0 )
            {
                setPixel( 50+x, 50+y );
            }
                ++x;
                if ( x == 23 )
                {
                    x = 0; 
                    ++y;
                }
        }
    }
*/

    glFlush();
}

int main( int argc, char *argv[])
{
    glutInit( 
&argc, argv );
    glutInitDisplayMode( GLUT_RGB 
| GLUT_SINGLE );
    glutInitWindowPosition( 
100100 );
    glutInitWindowSize( 
640480 );
    glutCreateWindow( 
"Polygon by PureMilk" );
    glutDisplayFunc( myDisplay );
    gluOrtho2D( 
06404800 );
    glutMainLoop();

    
return 0;
}

把它当作镂空图drawPolygon也不错,不过下面错位很严重,不知是什么原因?

囧,太小貌似看不清,就是嘴下面那块儿大部分像素点是错的。
恩,看来glColor3f(0.0f,0.0f,1.0f);这个值还需要调亮一下,太暗对比度不够。
我要好好休息一下,最近几天身体透支。下周估计也闲不下来,无意义的瞎忙啊。我要好好取舍一下,我要自私一点,我要一次只做一件事,做我想做的事。
posted @ 2008-10-19 20:46 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(161) | 评论 (2)编辑 收藏


今天真是好日子呢~~呵呵~~感觉一下子发现了好多东西~原来flash是可以做一帧的游戏~原来flash也有类~也有继承~一直太小瞧它了呢~不

过真郁闷那个书..确切讲是网页额。。只写了一点点。。as的文件里面的包要怎么放到fla里用哦~好想知道好想知道~
还是做不到像猫那样子。。睡眠好少哦。。妈妈说缺觉会变笨的~~哇咔咔~~给自己的不努力找个接口吧~程序员好辛苦哦。。不过好厉害呢~
无限崇拜ing
我的OpenGL我的ActionScript我的。。唉。。好贪心哦。。希望不要遭天谴呢。。明天还是不要逃课了。。坚决不睡~唉。。那个漆黑的教

室啊。。
好像我真的很怕黑呢。。黑的教室宁可睡觉也不要睁开眼睛。。黑的屋子肯定呆不久。。是否注定我不会熬夜?至少在这个断电的寝室不会

呢。。有点想念我那个灯火通明的小屋~~还是晚上画画有感觉~~要了解更多的东西~~不管是画图还是程序~~还有各个方面的素材~~总觉得这

样会离梦想近一点~会比较安心~或者这是我不专心的借口?不知道呢~还是很佩服那种可以一样东西专研好深的人~觉得很有毅力~
ps:猫。。竟然是男生。。我还是不能接受。。那么可爱。。唉。。
哈哈~~总觉得以后的日子会很充实而且快乐~~在我的学生时代只剩下那么一点点的时候~~会有些些成绩的吧~~至少我觉得不会教白卷了呢~~
不知道为什么会有这种有点奇怪的感觉呢~~
最后。。虽然很奇怪哦~~还是要说~~么么大家~~我爱你们~~幸福ing~~哈哈~~

 

posted @ 2008-10-19 15:19 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(157) | 评论 (0)编辑 收藏
      号外号外,俺玛丽医生一下子打到19关啦~
      号内号内,俺玛丽医生的伪码还有一筹没有展~~一来今天周末,二来今天周六,三来明天周天。不过,PureMilk说了不要给自己找借口,所以俺还是交代了吧,俺是没弄明白封装得那么严实的Pipeline <-- 某篇牛文里这样说OpenGL的,翻译过来就是管道。越来越邪乎,这个OpenGL到底是啥玩艺啊,它怎么玩儿的啊~!神奇的科学以及更加神奇的科学家。
      还有还有~我发现看PureMilk他们的程序看久了思路就被限制了,越来越接近。不过对于我来说,能成功地调试成功一个就已经是举身同庆的大事件了。但是还是想走自己的思路,但是关键是卡住了。分析如下。
      我不知道glutMainLoop是循环哪里的还有是怎么循环的,原版的解释说他还注册什么的,更晕了。我已经清楚了要用状态机的思想去实现了,但是不了解它是怎么实现画图的,尤其是怎么实现把前面的东西也一并画上。还有就是glutSwapBuffer,这个交换缓存?大意理解就是有好几张纸,前台显示的时候后台在画,然后用这个函数把后台的放上去,前台的拿下来继续画。但是,难道它是自动画的?不需要我写循环来控制?这些不好理解之后我的画图就不知道该怎么设计,是要自己写循环?那样的话就会给那些胶囊开数组,存进去,这样又看到之前的影子了,猫说什么意修改设计。这是不对的。
      好多困难啊,不过也正常,要是没困难了那我岂不是成仙了,虽然我很想,但是得修炼。
      嗯嗯。我决定夜深人静的时候自己吭哧吭哧地啃这骨头了。另:锅准备好了,哦,因为还没刷,所以说准备好了。半夜吃面~~吼吼吼吼`先睡一觉,然后醒来啃?还是不了吧。这一觉睡下去...
posted @ 2008-10-18 21:16 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(318) | 评论 (2)编辑 收藏
     摘要: 以前从没写过游戏,甚至连大程序都没尝试写过,这一次可谓要突破一下了。昨天晚上一夜都没睡好,一直都在想着这个游戏。参考了一下俄罗斯方块,罗列了一些函数,由于能力有限函数的具体功能都没实现,但是我会尽快补全这些功能的,请大家监督。第一次分析的难免会有很多漏洞与不全,请大家多多指教。 首先是导入各函数库#include <.h>各个全局变量Static const&nb...  阅读全文
posted @ 2008-10-18 20:19 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(169) | 评论 (3)编辑 收藏

今天乖乖的看程序哦~开始p图ing~只要做成bmp的就可以了吧。。
看到别人写的文章说方块的移动要用到中断。。觉得好神奇额。。。中断的势力程序贴在下面
好像读取键盘用的是键盘码
 for   (;;)  
  {  
  key=bioskey(0);   /*   wait   for   a   keystroke   */  
  printf("0x%x\n",key);  
  if   (key==0x11b)   break;   /*   Escape   */  
  }  
   
  常用按键的按键码如下:  
   
  #define   VK_LEFT   0x4b00  
  #define   VK_RIGHT   0x4d00  
  #define   VK_DOWN   0x5000  
  #define   VK_UP   0x4800  
  #define   VK_HOME   0x4700  
  #define   VK_END   0x4f00  
  #define   VK_SPACE   0x3920  
  #define   VK_ESC   0x011b  
  #define   VK_ENTER   0x1c0d  
或者可以像有些游戏里面用W。A。S。D。键吧

*************************我是无良的分割线***************************

 /*   这个程序每隔1秒钟输出一个整数,10秒钟后结束程序。  
  按escape键提前退出程序   。*/  

#include   <stdio.h>  
  #include   <dos.h>  
  #include   <conio.h>  
   
  /*   Escape   key   */  
  #define   VK_ESC   0x11b    
   
  #define   TIMER   0x1c   /*   时钟中断的中断号   */  
   
  /*   中断处理函数在C和C++中的表示略有不同。  
  如果定义了_cplusplus则表示在C++环境下,否则是在C环境下。   */  
   
  #ifdef   __cplusplus  
  #define   __CPPARGS   ...  
  #else  
  #define   __CPPARGS  
  #endif  
   
  int   TimerCounter=0;   /*   计时变量,每秒钟增加18。   */  
   
  /*   指向原来时钟中断处理过程入口的中断处理函数指针(句柄)   */  
  void   interrupt   (   *oldhandler)(__CPPARGS);  
   
  /*   新的时钟中断处理函数   */  
  void   interrupt   newhandler(__CPPARGS)  
  {  
  /*   increase   the   global   counter   */  
  TimerCounter++;  
   
  /*   call   the   old   routine   */  
  oldhandler();  
  }  
   
  /*   设置新的时钟中断处理过程   */  
  void   SetTimer(void   interrupt   (*IntProc)(__CPPARGS))  
  {  
  oldhandler=getvect(TIMER);  
  disable();   /*   设置新的时钟中断处理过程时,禁止所有中断   */  
  setvect(TIMER,IntProc);  
  enable();   /*   开启中断   */  
  }  
   
  /*   恢复原有的时钟中断处理过程   */  
  void   KillTimer()  
  {  
  disable();  
  setvect(TIMER,oldhandler);  
  enable();  
  }  
   
   
  void   main(void)  
  {  
  int   key,time=0;  
   
  SetTimer(newhandler);   /*   修改时钟中断   */  
   
  for   (;;)  
  {  
  if   (bioskey(1))  
  {  
  key=bioskey(0);  
  if   (key==VK_ESC)   /*   按escape键提前退出程序   */  
  {  
  printf("User   cancel!\n");  
  break;  
  }  
  }  
  if   (TimerCounter>18)   /*   1秒钟处理一次   */  
  {  
  /*   恢复计时变量   */  
  TimerCounter=0;  
  time++;  
  printf("%d\n",time);  
  if   (time==10)   /*   10秒钟后结束程序   */  
  {  
  printf("Program   terminated   normally!\n");  
  break;  
  }  
  }  
  }  
  KillTimer();   /*   恢复时钟中断   */  
   
  }

*********************************************************
中规中矩的马里奥图片初稿

搞笑下~~wow血精灵牧师版本~~绝对的医生~~被我命名为豆豆~~哇卡卡卡

ps:继续画哈~~跟本文无关了哦~~我家可爱的兔兔

补充:明天开始填色定稿~~这个给婷婷先用哦~~申请休息下~~哇卡卡阿卡~~我自己批准了~~~

posted @ 2008-10-18 19:47 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(360) | 评论 (8)编辑 收藏
     摘要: 代码进化到324行。今天不标记行号了,方便大家copy paste,希望能稍微地给大家点帮助。瓶口的二值图已经画好了,今天晚上画虫子的二值图,稍后再画医生的彩图,或者,嘿嘿,能不能麻烦糖糖画了咱们一起用,我就偷懒一下。然后今晚的任务就是学怎样读取二值图和彩图,明天把move函数完成并debug,简易的玛丽医生就差不多可以完成了,之后慢慢添加功能,做的完善点儿。我恨杭电,更恨我的菜。我想彻底放弃IC...  阅读全文
posted @ 2008-10-18 18:12 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(143) | 评论 (0)编辑 收藏
        貌似我经常过了12点了才燃烧着宽带卡写笔记,很败家的说。人说日有所思夜有所梦,昨晚睡着前一直在琢磨玛丽医生的思路,结果还真让我梦到了,怎么掉落、怎么消除,分析的头头是道。早晨醒来激动的回想,却一片茫然。。。恨啊~~~~
        今天下午下了一个玛丽医生,认真的玩了几次,也明确了一下游戏规则(惭愧的说,我从来都没有玩到能消病毒的那一层,因而一直都不知道病毒究竟是怎么消的),观察了初始的地图,药片的掉落、旋转,和消除了4格后,地图的变化等等细节,总算对要实现什么有了明确的目的,明天开始会动笔写伪代码。
       我的进度已经落后了大家,不过我会抓紧,尽量在周末写出一个完整的思路。
posted @ 2008-10-18 01:08 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(171) | 评论 (5)编辑 收藏
首先开一个窗口额。。大小(0.0)~(300.400)随意吧。。然后我在这个窗口的下半部分生成小虫虫~假设开始时候是5只哈~~开一个数组之类的记录进去(用药丸消去的时候会减少。虫虫全部消去之后升级~刷新界面~重新生成虫虫)药丸为一个类包括X,Y还有color等~~虫为继承药丸的子类添加一个变量flag。。只要有这个的就闪烁~~作为提醒吧~~药丸分左右两个格子~颜色不同,我的旋转是固定左下角坐标来的分四种情况。。笨笨的方法额。。算各点坐标画出来的。。然后分情况填充颜色那种的。。旋转命令产生后不马上执行。。调用判断函数。。检测边界(包括已经存在的方格和虫虫的位置还有左右下框框的边界)若旋转后于旋转前都未于边界接触则旋转,若已经与边界(特指下方的边界。则此药丸位置固定)然后继续检测与其相邻的横向和竖向的4个颜色是否想同~~相同则相消(旁边的也因此而要改变位置额。。复杂的想不出来了TAT)不相同则继续扔下一个药丸。。。这是大概的思路额。。本来想把上课画的好多示意图贴上来的。。不过背面被我涂鸦了。。哇卡卡卡~~5555555555过了12点了呢。。。表拍我啊。。。
posted @ 2008-10-18 00:10 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(92) | 评论 (0)编辑 收藏
     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->  1 #include <GL/glut.h>  2 #include <ctime> ...  阅读全文
posted @ 2008-10-17 23:52 正牌的天地之灵和他的徒儿们肖赫_王婷婷_王冠_郑燚_孙婷 阅读(183) | 评论 (0)编辑 收藏
仅列出标题
共15页: First 7 8 9 10 11 12 13 14 15 

<2008年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

常用链接

留言簿(6)

随笔分类(149)

随笔档案(150)

同道中人

搜索

  •  

积分与排名

  • 积分 - 46045
  • 排名 - 476

最新随笔

最新评论

阅读排行榜

评论排行榜