游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4245|回复: 10

初学OPENGL的问题:代码怎样才能在VC。NET中运行?

[复制链接]

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-2-11 20:45:00 | 显示全部楼层 |阅读模式
我 刚学编程,碰到的最大问题就是好多的示例原码不能运行,不知怎样调试,比如下面这个最简单的程序:

例4-1 OpenGL简单例程(Simple.c)

  #include <GL/gl.h>
  #include <GL/glaux.h>
  #include "glos.h"

  void main(void)
  {
    auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
    auxInitPosition(0,0,500,500);
    auxInitWindow("simple");

    glClearColor(0.0,0.0,0.0,0.0);
    glClear(GL_COLOR_BUFFER_BIT);

     glColor3f(1.0,0.0,0.0);
    glRectf(-0.5,-0.5,0.5,0.5);

     glFlush();
    _sleep(1000);
  }

1

主题

78

帖子

97

积分

注册会员

Rank: 2

积分
97
发表于 2006-2-12 20:26:00 | 显示全部楼层

Re: 初学OPENGL的问题:代码怎样才能在VC。NET中运行?

你这个程序写得本来就不正确,连那个让窗口消息循环的涵数都没有。不可能运行的

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-2-12 21:43:00 | 显示全部楼层

这个“#include "glos.h"”,,,,,,

我也试过 #include "glos.h"

但,从来没成功过。
因为,我的电脑里没有"glos.h" 这个头文件。

auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,500,500);
auxInitWindow("simple");
这三个,好象不行。
创建一个窗口,在VC里很复杂的。

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2006-2-12 23:59:00 | 显示全部楼层

Re:初学OPENGL的问题:代码怎样才能在VC。NET中运行?

// GLOS.H
//////////////////////////////////////////////////////////
// This is an OS specific header file

#include <windows.h>

// disable data conversion warnings

#pragma warning(disable : 4244)     // MIPS
#pragma warning(disable : 4136)     // X86
#pragma warning(disable : 4051)     // ALPHA
//////////////////////////////////////////////////////////
建议首选使用了glut的入门教程
还建议初学编程不要先动ogl,不然一个最简单的og例子都编译不了,那句话叫什么来着:“勿在浮砂筑高台”l

24

主题

256

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2006-2-13 08:45:00 | 显示全部楼层

Re:初学OPENGL的问题:代码怎样才能在VC。NET中运行?

      #include <windows.h>
  #include <GL/gl.h>
  #include <GL/glaux.h>

// Generate auto linkage for OpenGL libraries
#pragma comment(lib, "OPENGL32.LIB")
#pragma comment(lib, "GLAUX.LIB")
#pragma comment(lib, "GLU32.LIB")

  void main(void)
  {
    auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
    auxInitPosition(0,0,500,500);
    auxInitWindow("simple");

    glClearColor(0.0,0.0,0.0,0.0);
    glClear(GL_COLOR_BUFFER_BIT);

     glColor3f(1.0,0.0,0.0);
    glRectf(-0.5,-0.5,0.5,0.5);

     glFlush();
    _sleep(1000);
  }

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-2-13 15:02:00 | 显示全部楼层

Re:初学OPENGL的问题:代码怎样才能在VC。NET中运行?

5楼,
我这里怎么是
102 error(s), 0 warning(s) 呢?

auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
真的可以吗?

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2006-2-13 19:38:00 | 显示全部楼层

Re:初学OPENGL的问题:代码怎样才能在VC。NET中运行?

是呀,学VC就是弄不清各个文件间的关系,各个函数在这些文件里转来转去就找不到北了,我现在还没转出来呢。
还有就是各个程序在VC6和VC。NET中又不一样,本来想拿别人的程序来学下可好多都不能编译,想自己试就没信心了

24

主题

256

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2006-2-14 09:10:00 | 显示全部楼层

Re: Re:初学OPENGL的问题:代码怎样才能在VC。NET中运行?

snhun: Re:初学OPENGL的问题:代码怎样才能在VC。NET中运行?

5楼,
我这里怎么是
102 error(s), 0 warning(s) 呢?

auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
真的可以吗?



这位朋友,之所以会出现102个错误,是因为你太懒了,直接把代码粘贴过去的后果。如果你愿意用手一个字一个字地打进去,在VC6.0下编译不会有问题。

24

主题

256

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2006-2-14 09:11:00 | 显示全部楼层

Re:初学OPENGL的问题:代码怎样才能在VC。NET中运行?

#include <windows.h>
#include <GL/gl.h>
#include <GL/glaux.h>

// Generate auto linkage for OpenGL libraries
#pragma comment(lib, "OPENGL32.LIB")
#pragma comment(lib, "GLAUX.LIB")
#pragma comment(lib, "GLU32.LIB")

void main(void)
{
auxInitDisplayMode(AUX_SINGLE|AUX_RGBA);
auxInitPosition(0,0,500,500);
auxInitWindow("simple");

glClearColor(0.0,0.0,0.0,0.0);
glClear(GL_COLOR_BUFFER_BIT);

glColor3f(1.0,0.0,0.0);
glRectf(-0.5,-0.5,0.5,0.5);

glFlush();
_sleep(1000);
}

24

主题

256

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2006-2-14 09:28:00 | 显示全部楼层

Re: 初学OPENGL的问题:代码怎样才能在VC。NET中运行?

下面是VC6.0 和 VC.NET 的原代码。
学编程就要踏实一点,如果连编译器都不会用,一些最基本的编译错误都不知如何处理,就想3D编程,想做游戏。
那你只会在一次次失败的打击下最终对编程变得毫无兴趣。

sf_200621492738.rar

40.73 KB, 下载次数:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 10:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表