首页 > 其他分享 >Opengl-状态机

Opengl-状态机

时间:2024-12-22 11:53:03浏览次数:3  
标签:上下文 objectid Opengl 对象 状态机 WINDOW GL

状态机

As long as you keep in mind that OpenGl is basiclly one large state mchine,most of its functionality will make more sense.

OPengl是一个巨大的状态机,变量(描述该如何操作)的大集合。

Opengl的状态被称为上下文(context)

状态设置函数(State-changing Function)

状态应用的函数(State-uisng Function)

通过改变上下文变量改变OpenGL状态,从而告诉OpenGL如何去绘图

对象

一个对象是指一些选项的集合,代表OpenGL状态的一个子集

GLuint objectid = 0;
glGenObject(1,&objectid);//设置编号存起来
//绑定对象至上下文
glBindObject(GL_WINDOW_TRGET,objectid);//要用了拿出来绑定
//设置GL_WINDOW_TARGET对象的一些选项
glSetObjectOption(GL_WINDOW_TRGET,GL_OPTIION_WINDOW_WIDTH,800);
glSetObjectOption(GL_WINDOW_TRGET,GL_OPTIION_WINDOW_WIDTH,600);

//将上下文的GL_WINDOW_TARGET对象设回默认
glBindObject(GL_WINDOW_TARGET,0);

这样,对象其实是存储了我们想要的内容,在我们需要对应相对应去情况时候,只需要绑定相对应的对象即可。

标签:上下文,objectid,Opengl,对象,状态机,WINDOW,GL
From: https://www.cnblogs.com/AnnaStore/p/18621963

相关文章

  • 状态机模型(State Machine Model)
    一、状态机模型的基本概念状态机模型是一种计算模型,它根据一组规则从一个状态转换到另一个状态。这种模型在计算机科学、软件工程、通信协议设计等领域中非常常见。它描述了一个系统在不同状态下的行为,以及状态之间的转换条件。二、状态机模型的要素状态机模型可归纳为四个......
  • Windows 支持 DirectX 和 OpenGL,为什么大多数 PC 游戏还是 DirectX 开发?
    在Windows平台上,大多数PC游戏选择DirectX而不是OpenGL作为开发工具的主要原因,主要与历史发展、技术优势、生态系统支持以及平台优化有关。以下是详细的分析:1.历史和生态的原因1.1微软的推动和市场垄断DirectX是微软主导的图形API:DirectX是由微软专门为......
  • 基于OPENGL-实现三角形绘制并移动
    这是我们OPengl的第一个程序,我们先暂时不理解其中的原理,试着写一个简单的三角形移动的代码。在这个代码执行后,我们会看到一个左右移动的三角形。OpenGL程序示例 这是一个使用C++和OpenGL编写的简单程序,用于在窗口中绘制一个动态变化的三角形。#include<glad/glad.h>//包含......
  • 关于使用OpenGL开启Blend绘制汇报错的一个问题
    源描述:https://blog.csdn.net/Strengthennn/article/details/143742022我这里遇到的一个问题,OpenGL开启Blend后,出现了问题然后对其进行修改。绘制字体所遇到的情况, 代码如下:1glEnable(GL_BLEND);2glEnable(GL......
  • 嵌入式组件-----状态机
    此篇文章在2023年7月10日被记录1、简述状态机在C语言编程中,可以使用状态机来实现复杂的控制流程和状态管理。状态机通常由以下几个组成部分构成:状态(State):系统或程序可能处于的不同状态,例如"待机"、"运行"、"暂停"等。每个状态代表了系统或程序的一种行为或模式。事件(Event......
  • 一文掌握 OpenGL 几何着色器的使用
    学习本文需要具备OpenGLES编程基础,如果看起来比较费劲,可以先看入门文章OpenGLES3.0从入门到精通系统性学习教程。什么是几何着色器几何着色器(GeometryShader)OpenGL管线中的可选着色器阶段,位于顶点着色器(VertexShader)和光栅化阶段之间。其核心功能是基于输......
  • OpenGL(VS2022)---(5)
    前言对纹理的简单实现现在应该都理解了,不知道你们有没有考虑过一个问题,每一次都要重新创建一个工程,明明只是修改一部分代码,却要重新配置,能不能复制一个工程再重命名直接修改吗?如果有考虑过这个问题的小伙伴就会发现,原文件A,复制文件改名为B,修改B的内容,会发现A也被改了,这就让人......
  • CryEngine引擎开发:角色控制与状态机_角色动画系统
    角色动画系统在动作游戏中,角色动画系统是至关重要的部分,它不仅负责角色的外观表现,还直接影响玩家的沉浸感和游戏的流畅性。CryEngine提供了一个强大且灵活的动画系统,可以处理复杂的动画需求。本节将详细介绍CryEngine角色动画系统的原理和内容,包括动画的导入、动画状态......
  • CryEngine引擎开发:角色控制与状态机_角色控制的调试与优化
    角色控制的调试与优化在游戏开发中,角色控制的调试与优化是一个至关重要的环节。无论是玩家角色还是NPC,控制系统的流畅性和响应性直接影响游戏的体验。本节将详细介绍如何在CryEngine中调试和优化角色控制,包括常见的调试技巧、性能优化方法以及如何处理常见的问题。调试技......
  • CryEngine引擎开发:角色控制与状态机_CryEngine角色控制的实际案例分析
    CryEngine角色控制的实际案例分析在上一节中,我们讨论了角色控制的基本概念和CryEngine中的实现方式。现在,我们将通过具体的案例来深入分析角色控制的实现细节,以及如何在CryEngine中构建和优化角色状态机。1.角色移动控制1.1第一人称角色移动在许多动作游戏中,第一人称......