zoukankan      html  css  js  c++  java
  • OpenGL初识

    OpenGL

    概念

    • OpenGL提供的是一系列接口, 它是指一个规范, OpenGL规范严格规定了每个函数该如何执行, 以及它们的输出值, 具体的实现是由各个显示设备厂商, 它作为本地系统库直接运行在硬件上, 如果OpenGL出现了BUG, 应该升级显卡驱动
    • 顶点着色器(Vectex Shader): 负责绘制图形, 根据顶点坐标, 建立图形模型
    • 片段着色器(Fragment Shader): 根据顶点给图形填充颜色
    • 渲染通道: 由顶点着色器与片段着色器组成, 在现代技术中, 渲染通道被Stream Processor取代

    OpenGL组件

    • GLEW是一个跨平台的C++扩展库, 基于OpenGL图形接口, 下载过来就有了glew.h头文件
    • glu是工具库, 封装了OpenGL的函数, 提供了更为直观简单的接口, 函数名为glu
    • glad也是一个工具库, 和glu一样, 与窗口有关

    执行流程

    • 输入顶点数据->执行顶点着色器, 根据顶点画图几何图形->光栅化图形(加入我们的几何图形是一条直线, 进行了光栅化就是将该直线进行分段, 具体效果见Windows的mspaint软件)->执行片段着色器->写入帧缓冲区->显示在屏幕上

    DirectX

    • OpenGL是图形的API
    • DirectX是许多中API的集合, Direct3D(3D图形API, 简称D3D), Direct2D(2D图形), DirectCompute(通用计算), XAudio(音频), XInput(Xbox手柄输入)
    • DX11性能好, DX12更加提高了DX11(如果开发者厉害的话)

    OpenGL与DirectX比较

    • OpenGL更加开放, 但是效率比DirectX低, OpenGL渲染在Windows比DX好
    • 在实际游戏开发中, OpenGL基本上不用

    Vulkan

    • 是OpenGL的继承者, 入门难度比OpenGL高
    • 苹果不支持
  • 相关阅读:
    正则表达式
    navicat 远程连接mysql
    配置网络
    swoole 定时器
    goroutine调度源码阅读笔记
    Golang GC 算法
    git常用操作合集
    utf8和utf8mb4的区别
    正则表达式忽略分组顺序匹配(前瞻、后顾、负前瞻、负后顾的应用)
    goroutine上下文切换机制
  • 原文地址:https://www.cnblogs.com/megachen/p/10542376.html
Copyright © 2011-2022 走看看