图形学与DirectX12学习笔记------开坑和前言

作者分享了自己从大一开始接触Python和Unity,逐步深入学习Shader,通过《UnityShader入门精要》和shadergraph入门。在遇到知识瓶颈后,作者学习了计算机图形学,跟随games101课程并实践光栅化。接着,作者开始挑战DirectX12,结合C++PrimerPlus和数据结构进行学习。目前,作者已读完大部分龙书,并计划开发小引擎和记录学习过程,包括dx12笔记、实践、图形学、C++软光栅渲染器的开发等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“纸上得来终觉浅,绝知此事要躬行。”

转眼间大二下也快结束了,发现已经快一年没写文章了UwU
于是决定动动手,记录一下这一年来自己的学习笔记以及一些思考实践

一些前言

几乎整个大一我都在和python和unity的gameplay部分打交道,一整年就运用了学习到的基础知识写了几个小型demo。

直到大一结束的暑假前夕,我学习了unity的粒子系统,然后我发现似乎没有shader方面知识的话就只能做些基础效果,就萌生了学习shader的想法。当时是先买了一本经典《Unity Shader入门精要》,跟着书上例子敲了一遍完,又尝试了用shadergraph和ase做了一些简单特效(其实之前我是很抵触这种连连看的,但是学完才知道这玩意真好用),到这里算是入了个门吧。

但是慢慢学习深入之后,有些知识由于不知道实现原理,问题就逐渐多了起来,为什么在顶点着色器计算颜色结果是在每个三角形里插值啊,为什么像素着色器里算就不会,为什么我自己写shader没有阴影…,《入门精要》里对于这些细节介绍得也不是非常多,一些原理不知其所以然。

后来机缘巧合下,我知道了这些知识都叫“计算机图形学”,所以带着上面那些问题,大二上开学后,就开始学习闫令琪教授的games101课程,大概花了一个多月学习,慢慢消化了知识点,也配了个环境做了课程的作业,完整学习完一遍后,又用我比较擅长的Python tkinter库做了个简单的软光栅,运行图片如下(其实就是实现了一下最基础光栅化和插值,这个运行结果也只是画了12个纯色的三角形拼凑成了一个立方体而已,因为当时图方便用的是tkinter的画线函数画像素点=。=,所以运行效率巨低,这么张图给我画了快10秒钟,所以那些纹理,光追什么的就不想再继续做下去了)
tkinter软光栅运行图片
时间到去年的12月初,当时学校提前放假,学习时间就充裕了起来,准备开始学习《DirectX12 游戏开发实战》,也就是dx12龙书。当时刚翻开龙书看了几章,完全是天书级别,明明都是中文但连起来就看不懂了,一是因为没有学习过c++,二是也不知道怎么把dx12的内容和图形学原理联系起来。所以就买了本《C++ primer plus》配合数据结构和windows窗口开发一起学习。

差不多1月中下旬,就正式开始学习龙书了,书上看不懂的内容我就结合各种平台大神的博客一起看。到今年的3月份,龙书已经读了一大半了,当时就打算开发个小引擎,但是奈何理论和实践各种不足,开发过程中遇到了不少问题,因此五月初又重新回到了学习状态,开始把龙书剩下的部分慢慢读完,慢慢实践了一些前辈总结的精华,还有学习C++设计模式增强代码内功,最近一段时间感觉对知识点领悟更深了,就打算开坑记录一下学习笔记和一些实践。

未来展望

未来打算在多个方面更新文章,也就是设置多个专栏,这里具体展开一下:
1、dx12笔记和实践
2、dx12渲染器开发
第一个部分打算记录dx12学习笔记和实践,笔记是指对知识点的提炼和自己的一些思考,实践是指运用知识点做了某个功能,比如开发了一个shader反射参数功能等等。
第二个部分是打算使用dx12开发一个渲染器,记录一下开发和实践的过程,对接第一部分的知识点

3、图形学笔记和实践
4、C++软光栅渲染器
这两个部分和上面差不多,都是一个学习知识点一个实践,在学习龙书的过程中我发现games101的知识,也就是图形学基本原理仍是非常重要,需要反复理解才能学习到精髓,python的那个软光栅开发得不是很成功,这次就重新开发一个C++的补上

5、Unity Shader实践
如题,这部分打算在unity已经很完备的渲染体系下开发一些shader效果

目前就打算先开这么几个专栏,未来如果学了更多知识再加)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值