注册 登录
编程论坛 C图形专区

用opengl循环控制像素的颜色

画风 发布于 2012-08-10 00:07, 1175 次点击
颜色从(0,0,0),(0,0,1)……(255,255,255),,像素从第一个按顺序,    挨个设置像素的颜色?  小弟刚接触   求高人指点,谢谢啦
8 回复
#2
pangding2012-08-10 00:48
没看出来这和 opengl 有什么关系。
#3
画风2012-08-10 09:20
回复 2楼 pangding
就是用opengl写一个代码,把所有的像素,按顺序设置颜色,用上所有颜色就行了,从(0,0,0)到(255,255,255),谢谢啦
#4
pangding2012-08-10 12:18
感觉最简单的就用个三重 for 循环不就好了。
#5
画风2012-08-10 14:19
回复 4楼 pangding
但是我不知道怎么控制,还有我只查到,设置像素颜色时好像不能设置一个像素的,不知道怎么弄?希望帮一下忙,写一个程序让我看看吧?谢谢啦
#6
pangding2012-08-10 21:34
我不是很熟悉 opengl 的编程。如果你已经实现了个大概思路的话,也许我能帮你改改。
#7
画风2012-08-12 19:07
回复 6楼 pangding
我也是刚刚接触的,不会,所以上论坛求助的,呵呵,谢谢你
#8
画风2012-08-12 21:10
回复 5楼 画风
float width;//窗口的width
float height;//窗口的height


void display(){

    glClearColor(1,1,1,1);
    glClear(GL_COLOR_BUFFER_BIT);
//     glPointSize(5.0f);

    float iStep=2/(width);
    float jStep=2/(height);


     glBegin(GL_POINTS);

    float i=-1;
    float j=-1;
    bool flag=true;

    for(float r=0;flag;r=r+0.01){
        if(r>1.0)
            r=0;
        for(float g=0;g<1.0 && flag;g=g+0.01){
            for(float b=0;b<1.0 && flag;b=b+0.01){
                if( i>1 && j>1){
                    flag=false;
                    break;
                }
                glColor3f(r,g,b);
                glVertex2f(i,j);
                j=j+jStep;
                if(j>1){
                    i=i+iStep;
                    if(i<1.0001){
                        j=-1.0;
                    }
                }
            }
        }
    }
     glEnd();
    glFlush();
    glutSwapBuffers();
}




想问一下这个函数调用的GPU吗?是不是比直接使用基于CPU的编程语言,做同样的事更快? 听人说使用opengl也不一定调用了gpu,是这样吗?  麻烦你了
#9
best_12012-08-17 23:45
我刚学的DirectX 这个嘛  呵呵  等一段时间才来解答了
1