| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 952 人关注过本帖
标题:大家新年好!
只看楼主 加入收藏
pycansi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:418
专家分:1060
注 册:2012-7-26
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:22 
大家新年好!
刚学OpenGL,过年了,拼凑个小玩意向大家拜年!祝大家新春快乐,吉祥如意!
程序代码:
#include "windows.h"
#include "GL/glut.h"
#include "stdlib.h"
#include "stdio.h"

void myDisplay (void);
void ChangeSize (int w, int h);
void SelectFont (int size, int charset,char* face);
void myString (char* str);
void myPlay (void);

int WINAPI WinMain (HINSTANCE h1, HINSTANCE h2, LPTSTR cmdline, int cmdshow){        /* 用 "main" 用不了 SelectFont ()中的3个函数 */
    int argc = 1;
    char* argv[] = {"OpenGL"};        /* ? char** 报错 */

    glutInit (&argc, argv);                                /* 初始化 */
    glutInitDisplayMode (GLUT_RGB | GLUT_SINGLE);
    
    glutInitWindowPosition (0, 0);
    glutInitWindowSize (800, 600);
    glutCreateWindow ("2013");

    glutDisplayFunc (&myDisplay);
    glutMainLoop ();    }

void myDisplay (void){
    glClearColor (0, 0, 0, 1);
    glClear (GL_COLOR_BUFFER_BIT);
    
    myPlay ();
    glClear (GL_COLOR_BUFFER_BIT);
    glColor3f (1, 0, 0);
    SelectFont(72, ANSI_CHARSET, "Comic Sans MS");
    glRasterPos2f (-0.3, 0);
    myString ("Happy New Year");
    glFlush ();        }

void ChangeSize (int w, int h){                                                                    
    float aspectRatio = 0;

    if (h == 0){
        h = 1;    }
    glViewport (0, 0, w, h);

    glMatrixMode (GL_PROJECTION);
    glLoadIdentity ();

    aspectRatio = (float)w / (float)h;
    if (w <= h) { 
        glOrtho (-100, 100, -100 / aspectRatio, 100 / aspectRatio, 1, -1);    }
    else 
        glOrtho (-100 * aspectRatio, 100 * aspectRatio, -100, 100, 1, -1);

    glMatrixMode (GL_MODELVIEW);
    glLoadIdentity ();    }

void SelectFont (int size, int charset,char* face){        
    HFONT hFont = CreateFontA (size, 0, 0, 0, FW_MEDIUM, 0, 0, 0, charset, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, face);
    HFONT hOldFont = (HFONT)SelectObject (wglGetCurrentDC (), hFont);
    DeleteObject (hOldFont);    }

void myString (char* str){    
    static int isFirstCall = 1;
    static GLuint lists = 0;

    if (isFirstCall){              
        isFirstCall = 0;

        lists = glGenLists (128);

        wglUseFontBitmaps (wglGetCurrentDC (), 0, 128, lists);    }

    for (; *str != '\0'; str++){
        glCallList (lists + *str);    }    }

void myPlay (void){
    glColor3f (1, 1, 1);
    glRasterPos2f (-0.3, 0);
    SelectFont(48, ANSI_CHARSET, "Comic Sans MS");
    myString ("Wait");    
    for (int i = 1; i <= 5; i++){
        myString (".");
        glFlush ();
        Sleep (500);        }    }

虽然有些地方还不太明白,不过我相信,
PS:Win API 的函数名真是不漂亮...

参考:http://
      https://bbs.bccn.net/thread-67741-1-1.html
      http://blog.

[ 本帖最后由 pycansi 于 2013-2-10 00:48 编辑 ]
搜索更多相关主题的帖子: 新年 
2013-02-10 00:46
心灯甚亮
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:441
专家分:996
注 册:2013-1-29
收藏
得分:6 
拿了代码,贺下年,在接一下分,谢啦
2013-02-10 00:48
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:6 
祝楼主新春愉快 学习顺利
2013-02-10 00:59
信箱有效
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:9
帖 子:1102
专家分:4268
注 册:2012-6-19
收藏
得分:6 
Win API 的函数名那是真心的漂亮。
2013-02-10 01:06
a151141
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:197
专家分:680
注 册:2012-10-19
收藏
得分:6 
新年快乐

世界上幸福的事就是抓到一只羊,更幸福的事就是抓到两只羊……
2013-02-10 03:52
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3451
专家分:19340
注 册:2012-3-31
收藏
得分:6 
祝楼主学习进步

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2013-02-10 06:33
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:6 
新年快乐!
2013-02-10 07:47
ren613
Rank: 3Rank: 3
来 自:宣武
等 级:论坛游侠
帖 子:117
专家分:120
注 册:2012-11-20
收藏
得分:6 
学习

天道酬勤
2013-02-10 07:57
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:6 
#include "GL/glut.h"
啥编译器能编译这个代码

DO IT YOURSELF !
2013-02-10 08:09
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:6 
新年快乐

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2013-02-10 12:41
快速回复:大家新年好!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018938 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved