`
v5qqcom
  • 浏览: 1360201 次
文章分类
社区版块
存档分类
最新评论

OpenGL函数思考-glLight

 
阅读更多

OpenGL函数思考-glLight

函数原型:

void glLightf(GLenum light,GLenum pname,GLfloat param)
void glLighti(GLenum light,GLenum pname,GLint param)

参数说明:

  • light:指定光照。光照的数目取决于实现,但至少可以支持8个光照。分别为GL_LIGHT1到GL_LIGHT8
  • pname:指定light的光照参数。可以选择的值有GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION, GL_SPOT_EXPONENT, GL_SPOT_CUTOFF, GL_CONSTANT_ATTENUATION,GL_LINEAR_ATTENUATION, and GL_QUADRATIC_ATTENUATION
  • param:指定光源light的设置值指针

函数说明:

该函数设置单个光源的参数值.

  • GL_AMBIENT:指定环境光。
  • GL_DIFFUSE:指定漫射光。
  • GL_SPECULAR:指定镜面光。
  • GL_POSITION:指定光源位置。
  • GL_SPOT_DIRECTION:指定光照方向。
  • GL_SPOT_EXPONENT:指定聚焦光源指数。
  • GL_SPOT_CUTOFF:指定光源的最大散布角。
  • GL_CONSTANT_ATTENUATION,GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION :指定三个光照衰减因子。

注意:

只对光源进行设置、定位、甚至启用,光源都不会工作。除非我们启用GL_LIGHTING。

LightAmbient: array[0..3] of GLfloat = (0.5, 0.5, 0.5, 1.0); // 环境光参数

LightDiffuse: array[0..3] of GLfloat = (1.0, 1.0, 1.0, 1.0); // 漫射光参数

LightPosition: array[0..3] of GLfloat = (0.0, 0.0, 2.0, 1.0); //光源位置参数


glLightfv(GL_LIGHT1, GL_AMBIENT, @LightAmbient); // 设置环境光

glLightfv(GL_LIGHT1, GL_DIFFUSE, @LightDiffuse); // 设置漫射光

glLightfv(GL_LIGHT1, GL_POSITION,@LightPosition); // 设置光源位置

glEnable(GL_LIGHT1); // 启用一号光源 glEnable(GL_LIGHTING); // 启用光源

分享到:
评论

相关推荐

    OpenGl所有函数库

    "OpenGl函数库.doc"和"opengl函数.doc"则是关于OpenGL函数的文档,同样提供了函数的描述和用法。 四、学习和使用 掌握OpenGL函数库的关键在于理解和实践。开发者应通过阅读文档、教程和示例代码,了解每个函数的...

    ubuntu-opengl-demo-light.zip

    2. **定义光源**:使用`glLight`系列函数定义光源的属性,如位置(`GL_POSITION`)、颜色(`GL_AMBIENT`, `GL_DIFFUSE`, `GL_SPECULAR`)和强度(`GL_SPOT_EXPONENT`, `GL_SPOT_CUTOFF`)。 3. **设置材质**:使用`...

    opengl-function.rar_OpenGL函数库

    OpenGL函数库是图形编程领域中的一个关键组成部分,它为开发者提供了丰富的接口,用于在各种操作系统上创建复杂的2D和3D图形。这个“opengl-function.rar”压缩包包含了一个名为“opengl-function.CHM”的离线帮助...

    OpenGL 系列函数库

    OpenGL函数库,作为计算机图形学领域的一个重要组成部分,其设计旨在提供一套标准接口,用于高效地渲染2D和3D图形。在理解OpenGL时,掌握其函数命名规则至关重要,这有助于开发者快速识别函数功能和参数类型。根据...

    openGL函数查询

    ### OpenGL函数查询知识点详解 #### 一、GL库函数与颜色管理 - **`glshadeModel`**: 用于选择平面明暗模式(GL_FLAT)或光滑明暗模式(GL_SMOOTH)。这两种模式决定了如何计算多边形表面上的颜色变化。 - **`...

    OpenGL函数库API

    ### OpenGL函数库API详解 #### 一、OpenGL函数库概览 OpenGL(Open Graphics Library)是一种广泛使用的跨语言、跨平台的应用程序接口(API),主要用于渲染2D和3D矢量图形。它采用C语言风格编写,具有丰富的图形...

    opengl函数库 最全

    OpenGL函数库是图形编程的重要组成部分,它提供了丰富的接口来实现3D图形的渲染。这个最全的函数库几乎包含了OpenGL的所有核心功能,使得开发者能够创建复杂的3D场景、动画以及进行高级图像处理。 1. `glAccum`:此...

    OpenGl函数介绍哦

    ### OpenGL函数介绍 #### 一、OpenGL库函数概述 OpenGL是一种跨语言、跨平台的应用程序接口(API),用于渲染2D、3D矢量图形。它由一系列的库函数组成,这些函数允许开发者进行图形处理和显示。在开发基于OpenGL的...

    opengl_function.rar_OpenGL函数_opengl_visual c

    OpenGL函数库是计算机图形学中的一个关键组件,用于在各种操作系统和硬件平台上创建复杂的3D和2D图形。"opengl_function.rar"这个压缩包显然包含了一份关于OpenGL函数的详细说明,特别针对使用Visual C++的开发者。...

    OpenGL函数介绍

    ### OpenGL函数介绍 #### 一、概述 OpenGL(Open Graphics Library)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。它使用一种特殊的C语言风格,提供了丰富的库函数来进行图形处理和...

    OpenGL函数查询

    ### OpenGL函数查询详解 #### GL库函数概览 **OpenGL** 是一种用于渲染2D、3D图形的应用程序接口(API)。它广泛应用于游戏开发、虚拟现实(VR)技术、科学可视化等领域。以下是对给定内容中部分GL库函数的详细解析。 ...

    opengl函数大全

    OpenGL 函数大全 OpenGL 是一个跨平台的图形 API,提供了一个强大且灵活的图形渲染引擎。OpenGL 函数大全是 OpenGL 中的核心组件之一,提供了大量的函数来处理图形渲染、几何图形、材质、光照、像素操作等方面的...

    OPENGL图形函数库

    OpenGL提供了一系列函数来模拟光源和阴影,如`glLight()` 定义光源参数,`glMaterial()` 设置物体材质属性,这些可以用来创建逼真的光照效果。 10. 教程和资源: 对于初学者,有许多在线教程和书籍可以帮助理解...

    OpenGL教程Nehe版-中文版

    - 学习如何使用OpenGL函数实现模型的旋转。 - 理解旋转的基本原理。 ##### 关键知识点 - **旋转函数**: `glRotatef`函数的应用。 - **坐标轴**: 明确旋转轴的概念及其在三维空间中的意义。 #### 六、3D空间中的...

    OpenGL函数参考手册

    OpenGL函数参考手册是一份详尽的资源,涵盖了OpenGL编程所需的大量信息。OpenGL是跨语言、跨平台的图形程序接口,广泛用于渲染2D、3D矢量图形,尤其是在科学可视化、虚拟现实等领域扮演着重要角色。手册的目的是帮助...

    android OpenGL常用函数

    ### Android OpenGL常用函数详解 #### 一、OpenGL概述 OpenGL(Open Graphics Library)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。它在计算机图形学领域中有着广泛的应用,特别是...

    OpenGL 常见函数功能查询

    ### OpenGL 常见函数功能查询 #### 一、OpenGL基础绘图函数 **glshadeModel**: 设置平滑或平面的着色模式。 - **功能描述**:此函数用于设置物体表面的着色方式,有两种模式可以选择:GL_SMOOTH(平滑)和GL_FLAT...

    OpenGL绘图相关函数

    例如,可以使用`glViewport`来设定视口大小,`glMatrixMode`切换矩阵模式,`glLoadIdentity`和`glMultMatrix`操作矩阵,`glColor`和`glLight`函数则用于指定颜色和光源属性。纹理映射可以通过`glGenTextures`、`...

    常用的OpenGL的函数

    (3)颜色、光照和材质的函数,如设置颜色模式函数 glColor*()、glIndex*(),设置光照效果的函数 glLight*()、glLightModel*()和设置材质效果函数 glMaterial()等等。 (4)显示列表函数,主要有创建、结束、生成、...

    主要的OpenGL函数库

    OpenGL函数库是图形编程的重要组成部分,它提供了丰富的功能来创建和操纵2D和3D图形。OpenGL核心库和OpenGL实用库是两个主要的部分。 1. OpenGL核心库:这是OpenGL的基础,包含了115个基本函数,以“gl”为前缀。...

Global site tag (gtag.js) - Google Analytics