RGB模式和RGBA模式
计算机屏幕的颜色属于RGB空间。
通常有RGB模式和RGBA模式,其中RGB模式有R、G、B三个分量,取值范围为0.0~1.0;而RGBA模式有R、G、B、A四个分量,其中A即Alpha值,与透明度有关。
下面通过一个程序演示,并作必要说明:
计算机屏幕的颜色属于RGB空间。
通常有RGB模式和RGBA模式,其中RGB模式有R、G、B三个分量,取值范围为0.0~1.0;而RGBA模式有R、G、B、A四个分量,其中A即Alpha值,与透明度有关。
下面通过一个程序演示,并作必要说明:
#include
<
windows.h
>
#include < GL / glut.h >
#include < stdio.h >
#include < stdlib.h >
void myDisplay( void )
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f( 0.0f , 1.0f , 1.0f );
glRectf( - 0.5f , - 0.5f , 0.5f , 0.5f );
glFlush();
}
int main( int argc, char * argv[])
{
glutInit( & argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition( 100 , 100 );
glutInitWindowSize( 400 , 400 );
glutCreateWindow( " 画多边形(彩色) " );
glutDisplayFunc( & myDisplay);
glutMainLoop();
return 0 ;
}
#include < GL / glut.h >
#include < stdio.h >
#include < stdlib.h >
void myDisplay( void )
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f( 0.0f , 1.0f , 1.0f );
glRectf( - 0.5f , - 0.5f , 0.5f , 0.5f );
glFlush();
}
int main( int argc, char * argv[])
{
glutInit( & argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition( 100 , 100 );
glutInitWindowSize( 400 , 400 );
glutCreateWindow( " 画多边形(彩色) " );
glutDisplayFunc( & myDisplay);
glutMainLoop();
return 0 ;
}
效果图如下:
说明:
在RGBA模式下选择颜色是十分简单的事情,只需要一个函数就可以搞定。
glColor*系列函数可以用于设置颜色,其中三个参数的版本可以指定R、G、B的值,而A值采用默认;四个参数的版本可以分别指定R、G、B、A的值。例如:
void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
void glColor
在RGBA模式下选择颜色是十分简单的事情,只需要一个函数就可以搞定。
glColor*系列函数可以用于设置颜色,其中三个参数的版本可以指定R、G、B的值,而A值采用默认;四个参数的版本可以分别指定R、G、B、A的值。例如:
void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
void glColor