[迁移]opengl学习从头开始(笔记14 二次曲面)

声明:因网易博客将关闭,移到此

/**
    这里使用到的是opengl 和 glut 进行编写学习的笔记,一个简单的出口
    使用到的开发库有 linux (gl glu glut) windows(opengl32.lib glu32.lib glut32.lib)

    实现:
        绘制二次曲面

    例子:
        二次曲面这里都是用的glu库内部的函数,(要自己写,没试过,想写写看?
        那就自己来吧^_^)
        过程
        1.GLUquadricObj *quadratic; // 创建一个二次曲面使用的对象
        2.gluSphere(二次曲面对象,半径,横向分割数,纵向分割数);
        3.如果要绘制中使用要记得创建了要删除哦^_^

        要让二次曲面使用纹理需要进行gluQuadricTexture(二次曲面对象,GL_TRUE)


        
    问题:
        1.要绘制其他形状怎么办呢?
            glu提供了一些形状,但是还是很有限,如果比较复杂的东西的话,就要自己来了
        2.要绘制线条呢?
            查查glu中的文档,应该可以发现
        3.。。。。其他的???暂时没想到 ^_^

        

*/

#include <iostream>
#include <GL/glut.h>
#include <stdio.h>
#include <stdlib.h>

#ifdef _MSC_VER

#endif

#ifdef __GNUC__
#include <unistd.h>
#endif

using namespace std;

// 图片的类型 包含宽 高 数据
struct Image
{
    unsigned long sizeX;
    unsigned long sizeY;
    char *data;
};
typedef struct Image Image;

// 我们用来旋转下模型吧
float g_angle = 0;

GLuint g_Texture;
GLuint g_object = 0;
GLUquadricObj *quadratic; // 存储二次曲面对象

////////////////////////////////
// 下面是读取自定义格式的模型信息文件使用的函数


//----------------------------------------------------------
// 读取图片文件
int ImageLoad(const char *filename, Image *image)
{
    FILE *file;
    unsigned long size; // 图片长度
    unsigned long i;    // 计数
    unsigned short int planes;
    unsigned short int bpp;
    char temp;            // bgr -rgb 变换

    if ((file = fopen(filename, "rb")) == NULL)
    {
        prin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值