DirectX 11 Custom Graphics Engine (1)

这学期修了一节图像编程的课 大概是记录一下开发过程?Little bit about myself,博主是个处于大三大四之间的游戏开发专业的妹子。本来读大学之前以为自己是要搞美术的,却被现在就读学校的专业名字骗进来读了游戏开发_(:з」∠)_ 从此日渐秃顶(x)给泥们看我画的画!(叉腰.jpg)

好了说正题。这个引擎是DirectX 11的,有个老师给的starter code有一些基础的功能比如新建一个window之类的。之前自己写过两个OpenGL的引擎,不过也是课程内容啦。那两个引擎一个是完全自己写的,一个是老师给了starter code然后往里面加东西。不过那两节课本来应该是教C++和data structure的?不知道为什么要让我们写引擎。。。总之是专业里面很迷的两节专业课。

前五周的话大概就是完善引擎的基础功能,比如增加camera,读入模型文件,简单pixel shader和vertex shader,渲染材质之类的。之后就是group project啦。这里是group project之前的成果:

这里的话就是有一个简单的vertex shader & pixel shader,一个2D Texture, 一个cube mesh (obj文件),三个light。盒子的左边有一个粉红色的directional light,右边有一个蓝色的point light, 底部有一个红色的spotlight。 目前所有的光源都还没有减弱(attenuation);没有加入normal map的计算;以及spotlight不能自定义角度。

在小组里面我比较想做一个post-processing的shader,比如bloom,depth of field(景深), blur(模糊), anti-aliasing之类的。有可能的话试一下PBR(physics based rendering)?(不过这个组里面的大腿已经在小组引擎里面写好了,之后有时间的话我可能会在自己的引擎里面加上PBR功能吧)还有water可能也挺酷的,可以试试啊~ refraction(反光)也想加!不过看最后能做多少吧2333

最近自己有加上可以自定义角度的spotlight。黄色的那个好像给的是60度红色的是20度?我的math其实还有点问题。。。不过不知道应该怎么改进。看了好几个tutorial每一个计算方法都略有不同_(:з」∠)_ 后悔之前学linear algebra的时候不认真OTZ 不过嘛。。。反正spotlight还是看上去像一个spotlight的嘛 将就一下~

然后有加入计算normal map(国内应该是叫法线贴图?)和specular(高光?)计算。效果如下。目前所有的light source都是一个一个在pixel shader里面计算的,计划写成dynamic light array,在有多个光源的时候计算会简化很多。写normal map的时候还遇到了挺多问题的。。不过都是因为自己石乐志的原因233 比如忘记在读入文件的那个class里面加上tangent数据,忘记normalize normal啊之类的。总之很蠢就是了_(:з」∠)_ 主要是shader debug起来好难啊。。。反正render出来不对知道自己哪里有问题,但是又不知道具体问题在哪里QAQ 感觉短短几周叽己头发都又少了不少呢。

最近两周打算开始写depth of field。看了不少资料,感觉好像bokeh的效果最好?不过因为还没学到post-processing要先自学这部分。。。其实概念上来讲蛮简单的,就是把render好的场景存成一个2d图片,然后在上面弄一些效果什么的。Blur其实就是把一个像素和旁边的像素加起来平均一下就糊了_(:з」∠)_ 所以我在pixel shader里面先试了一下,效果如下。左边用的是有blur的pixel shader,右边用的就是正常的。这么做虽然简单但是好像不太好?因为这个只是在每一个mesh上面的效果,一般模糊可能是需要全屏模糊的?嘛,不过那个的话就是post-processing了呢。

以上就是目前的进度啦~ 接下来希望实现的效果有:边缘发光(外发光和内发光都可以试试),bloom(这个跟emissive还有glowing有什么区别??),以及天空盒子(skybox/cube map)。那么我们下次再见!╰(´︶`)╯♡

【开发记录】DirectX Custom Graphics Engine(1)相关推荐

  1. koa2 mysql_koa2+vue+mysql 全栈开发记录

    koa2+vue2+mysql 全栈开发记录 基于想要自己制作一个个人项目为由,于是有了这么一个开发记录(梳理开发过程也是一个知识巩固的过程) koa2+vue2+mysql 个人的一个通用DEMO( ...

  2. onlyoffice5.4.2个人二次开发记录-中文字体

    中文字体实现效果 二次开发记录 1.onlyoffice版本需要5.4.2,我尝试使用5.3.4版本替换中文字体后会出现下拉选项全部显示问号,其他5.4.2版本以下未尝试过: 2.复制本地中文字体或网 ...

  3. 从烧录系统开始Jetson Nano无人车开发记录

    从烧录系统开始Jetson Nano无人车开发记录(一) 本章介绍硬件选型与系统烧录环境配置 前言 搭建一个四轮麦克纳姆移动机器人平台,用于团队日常学习,算法复现和开发. 将在下文详细介绍从系统烧录开 ...

  4. Anytime项目开发记录0

    Anytime,中文名:我很忙. 开发者:孤独的猫咪神. 这个项目会持续更新,直到我决定不再维护这个APP. 2014年3月10日:近日有事,暂时断更.希望可以会尽快完事. 2014年3月27日:很抱 ...

  5. CozyRSS开发记录3-标题栏再加强

    CozyRSS开发记录3-标题栏再加强 1.更精炼的标题栏 接下来,我们把窗口的边框和默认的标题栏给去掉,让Cozy看起来更像一个平板应用. 在主窗口的属性里,修改下列两个属性: 效果一目了然: 2. ...

  6. CozyRSS开发记录19-窗口标题栏交互

    CozyRSS开发记录19-窗口标题栏交互 1.谈谈对mvvm解耦的看法 在使用mvvm时,如何操作窗口,这是一个问题.这个问题的关键点是:mvvm是把view和viewmodel解耦了的,很多写法一 ...

  7. TMS320F28335项目开发记录9_28335之中断系统

    TMS320F28335项目开发记录9_28335之中断系统 2014年11月08日 12:00:12 阅读数:3104 28335中断系统 1.中断系统 在这里我们要十分清楚DSP的中断系统.C28 ...

  8. 转:修改Content Server管理员密码 - [Documentum 实施开发记录]

    修改Content Server管理员密码 - [Documentum 实施开发记录] 2010-02-25 Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http:// ...

  9. CozyRSS开发记录8-解析一份RSS

    CozyRSS开发记录8-解析一份RSS 1.使用Rss20FeedFormatter解析RSS 使用Rss20FeedFormatter配合XmlReader来解析RSS非常的简单,几行搞定: 来试 ...

最新文章

  1. react表格无缝滚动_js实现表格无缝滚动效果
  2. 阿里巴巴开源容器镜像加速技术
  3. [scala-spark]3. 变量 数据类型 分支与循环
  4. windows下SecureCRT无法使用backspace(空格键)和上下左右键
  5. php中const的意思,php – 在const中使用const
  6. 1小时搞懂设计模式之委派模式
  7. python3最新版下载_python3.9下载-Python下载v3.9.0 官方最新版【x86|x64】-西西软件下载...
  8. tensorflow里面函数记录
  9. sql server键查找_如何查找SQL Server版本
  10. kernel编译速度提高
  11. 大数据产品推荐:神策分析——可私有化部署的用户行为分析平台
  12. 灰度决策--如何解决棘手复杂问题
  13. SQLSERVER读懂语句运行的统计信息
  14. Selenium自动化程序被检测为爬虫,怎么屏蔽和绕过
  15. 注册Gmail账号手机号码提示无法验证
  16. 高级语言 和 低级语言 的区别
  17. Javascript中transducer的应用
  18. Go语言——没有对象的面向对象编程
  19. python3 print函数格式化输出
  20. validation 分组校验注解大全及使用详解

热门文章

  1. 网络编程学习——名字与地址转换(一)
  2. 歌尔2718硅咪 超小体积 S15OB383-058 S15OB381-055 S15OT421-001
  3. Linux 基础之虚拟机创建与系统安装
  4. SICP读书笔记 2.1
  5. JS逆向入门学习之回收商网,手机号码简易加密解析
  6. HTML5学习笔记(三)
  7. 利用iconfont.css生成html代码,显示iconfont里面的所有的图标
  8. 'org.apache.ibatis.session.defaults.DefaultSqlSessionFactory' to requir
  9. wix图片导入设置_奇葩史的奇葩事 | [译]:WiX Toolset入门——内置的WixUI界面使用配置...
  10. 基于51单片机的8个小彩灯花样流水灯proteus仿真汇编语言