书写本文的初衷是为了自我记录与学习,同时分享认识更多的朋友。

  • 引擎与图形学
  • 常说的引擎指什么?
    • 游戏引擎
    • 渲染引擎

引擎与图形学

图形学一般最开始先了解的是图形API,Opengl、DX以及Metal和最新的Vulkan。
而我们常说的引擎,是一个庞大的软件,通过精妙的上层架构,诠释真实世界中的物体层级关系、属性,厘清这些物体关系之后,将数据送给底层图形API完成最终的呈现

PS:关于这一点,因为在一个实际商用游戏的制作或者图形渲染中,不只是简简单单一个三角形、一个模型就可以了,而是包含成千上万个物体模型、数十万三角形、百万顶点的数据。
理论上我们是可以分别将这些数据交付图形API,传入shader,但是这些数据代表的物体之间的关系将会变得非常混乱。

简言之,引擎与图形学的关系是密不可分的,图形API负责最终的画面绘制,是引擎的底层呈现。

常说的引擎指什么?

游戏引擎

简言之,引擎严格来说应该是包含可视化编辑工具的,旨在方便进行游戏的快速开发。就像UE、Unity一样,而这两者就是典型的游戏引擎。

举例过后,说一下比较严格的定义。游戏引擎:游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。--------------摘自百度百科

渲染引擎

游戏引擎是一个庞大的程序,它包含了渲染引擎。 渲染引擎其中以Ogre为典型代表。
渲染引擎其实不能称之为真正意义上的引擎,它是一个低阶渲染器。只是囊括了简单的图形渲染功能。
如下图,摘自《游戏引擎架构》的一幅经典的架构图。

典型游戏引擎架构

opengl游戏引擎源码_渲染概念:1.引擎二三事相关推荐

  1. 3D游戏引擎系统源码C++本科毕业设计,C++ 3D引擎源码,渲染系统使用的OpenGL 及 OpenGL ES

    Effective 3D Engine 渲染系统使用的OpenGL 及 OpenGL ES,Windows上OpenGL ES使用AMD的ES模拟器. 环境部署 完整代码下载地址:3D游戏引擎系统源码 ...

  2. 羊了个羊游戏网站源码_带前后端源码,带教程

    羊了个羊游戏源码_带前后端源码_及配置教程说明 这是啥游戏?据悉,这是一款卡通背景的消除闯关游戏.玩家们需要点击上方卡牌,被选中的卡牌会下移到底部的木框中,框内最多可以储存7张卡牌,当有3张相同的卡牌 ...

  3. opengl游戏引擎源码_跨平台渲染引擎之路:拨云见日

    前言 最近在工作中越来越多地接触到一些3D以及相比常见特性更酷炫的效果,因此萌发了想要自己从0开始打造一个渲染引擎的念头,一方面是为了更好地实现公司业务的需求,另一方面则是可以学到整个渲染流水线上的方 ...

  4. opengl游戏引擎源码_UE4渲染引擎模块简介(1)

    UE4官方文档中<Graphics Programming Overview>开篇即说:UE4的渲染代码太多故难以从宏观上快速预览它的全貌(There is a lot of render ...

  5. 游戏盒子源码_如何用8K电视盒子组建“家庭影院”(设备入门篇)

    最近腾讯推出了一款8K超旗舰盒子-腾讯极光盒子3PRO.先简单介绍下这款产品. 这款产品定位为"8K旗舰级家庭娱乐主机",配置和功能上都十分惊艳,拥有4+32G超大内存,支持4K@ ...

  6. thinksns源码_看移动社交引擎ThinkSNS如何帮助企业和创业者快速搭建理想的社交产品?...

    [猎云网( 微信:ilieyun)武汉 ]4月11日报道(文/向承丞) 1967年,哈佛大学的心理学教授StanleyMilgram创立了六度分割理论--你和任何一个陌生人之间所间隔的人不会超过六个, ...

  7. 游戏网站源码_远征游戏网站源码 discuz内核

    介绍: discuz远征游戏通用网站模版,包含门户首页论坛页,推荐页,帖子列表页和帖子内容页. 首页数据采用diy方式调用方便站长编辑. 模板风格简约大气,兼容各主流浏览器. 模板使用说明1 从你的网 ...

  8. 简易扑克牌游戏JAVA源码_新手上路

    下面来看看具体代码的实现: 一.entity包 1.裁判类 package entity; /*** 裁判* @author Geek* @version 1.0* @date 2018年6月22日 ...

  9. c语言传奇引擎源码,Ei3.0服务端引擎源代码+登陆网关+客户端插件

    Ei3.0服务端引擎源代码+登陆网关+客户端插件 procedure TPANEL.Button3Click(Sender: TObject); var P:integer; mItem:DWORD; ...

最新文章

  1. ajax如何知道超时请求,如何发送ajax请求来检查会话超时并在grails中呈现relogin消息?...
  2. java通过spring获取配置文件_springboot获取properties文件的配置内容(转载)
  3. GC和JVM调优实战
  4. Spring Cloud 采用Consul做配置中心
  5. Android 内存泄漏分析(完)
  6. android 筛选菜单_使用C语言开发跨平台(win/android)应用(PainterEngine 快速入门教程)...
  7. iisweb服务器完美解决方案
  8. 如何停止在技术债上浪费时间?
  9. php socket keepalive,使用keepalive和fastcgi_keep_conn打开Nginx php-fpm时出错
  10. django中时区设置
  11. ActiveRecord 复合主键时 实体转换为DataRow
  12. PHP html输入名称找到图片,PHP 输出HTML中的所有图片地址
  13. UIView中的坐标转换
  14. GD32F103RC官方移植IAR
  15. Ubuntu20+TendaU12驱动离线安装
  16. SICK CLV650-6000固定式扫码枪参数配置
  17. windows下制作iso文件,WinMount介绍
  18. rar压缩包密码解密工具
  19. 创建parquet类型的hive外表
  20. 使用select2 实现拼音全拼和首字母 搜索

热门文章

  1. python sqlite3更新数据,python sqlite3-使用f字符串更新数据库函数
  2. Qt QWidget实现手势缩放和平移(二)
  3. android 拦截点击事件,Android事件拦截机制
  4. c++ windows获得当前工作目录文件_使用命令行修改当前工作目录
  5. 4.2.1 OS之磁盘的结构(磁盘、磁道、扇区、盘面、柱面、磁头)
  6. mysql+索引优化+查询优化+存储优化_mysql利用覆盖索引避免回表优化查询
  7. DBUtils、连接池
  8. python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算
  9. deinstall 卸载grid_卸载Oracle 11g的Grid小计
  10. 定义一个计算字符串有效长度的_一个正方形的小抽屉柜,根据设计草图计算出所需四片木板的长度...