FREEstriker
码龄10年
关注
提问 私信
  • 博客:77,609
    77,609
    总访问量
  • 49
    原创
  • 2,199,532
    排名
  • 154
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2015-07-28
博客简介:

FREEstriker的博客

博客描述:
有空就写两笔的懒散博客
查看详细资料
个人成就
  • 获得121次点赞
  • 内容获得25次评论
  • 获得310次收藏
  • 代码片获得1,553次分享
创作历程
  • 1篇
    2023年
  • 6篇
    2022年
  • 2篇
    2021年
  • 2篇
    2020年
  • 10篇
    2019年
  • 28篇
    2018年
成就勋章
TA的专栏
  • AirRenderer
    7篇
  • 30天自制操作系统笔记
    1篇
  • 数据结构
    17篇
  • RPGmaker源码解析
    2篇
  • 算法设计与分析
    8篇
  • LeetCode
    7篇
  • Unity3D相关
    3篇
兴趣领域 设置
  • 用户体验设计
    3d
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Vulkan PBR与IBL实践

基于Vulkan与QT实现的PBR与IBL
原创
发布博客 2023.01.04 ·
783 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

Vulkan Cascade Shadow Map的故事

Vulkan-AirEngine内实现的的CSM与CascadeEVSM,在Forward+渲染器中增加3*3PCF的CSM实现,在阴影可视化渲染器中另增加Cascade-EVSM实现
原创
发布博客 2022.10.01 ·
983 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

那些天,我写过的Vulkan环境光遮蔽

Vulkan实现的SSAO、HBAO与GTAO
原创
发布博客 2022.09.22 ·
408 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

属于年轻人的第一个Vulkan Forward+与OIT

自己封装的Vulkan渲染引擎,最近加入了Forward+与OIT渲染
原创
发布博客 2022.07.24 ·
645 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

究极摸鱼挂科王终于击败了无敌可怕Vulkan大魔王

带有对象管理和异步加载的接口像Unity的Vulkan渲染器
原创
发布博客 2022.06.10 ·
832 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

因为我是科研废物所以每天翘课摸鱼准备去打工这件事

C++实现的带有模拟着色器、对象管理、异步加载的软渲染器
原创
发布博客 2022.06.10 ·
291 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

关于在寒假用两周从零手写包含模拟着色器的软渲染器这件事

当你重新踏上旅途之后,一定要记得旅途本身的意义。——巴巴托斯轮子哥说过,编译原理,操作系统,图形学是程序员的三大浪漫,既然以后想从事游戏方面的工作,造这个轮子是不可避免的。其实早在本科的时候我就有写个软渲染器的想法,不过已是大三,变得佛系了起来,最终也没有实现。不过今年自我感觉状态良好,哈哈哈哈,应该有能力完成这个轮子了。先贴上代码链接:GitHub - FREEstriker/AirRendererhttps://github.com/FREEstriker/AirRenderer因.
原创
发布博客 2022.02.15 ·
782 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

在URP中正确写入Sprite深度以使用DOF

我准备在文字冒险中加入景深的效果,但是因为unity内置shader的缘故,sprite是不会写入深度的,而如果要使用PostProcessing的DOF效果的话,是必须要将半透明物体的深度正确写入Depth Buffer的,这篇消耗了我大量精力的文章就是要介绍正确写入的方法。其实,如果只是要在2D游戏中实现类似于景深的效果,不写入深度其实也是可以的,我找到的有两种方案:一种是实时对Sprite进行模糊计算;二是直接使用离线预模糊的图片,根据强度进行混合。离线预模糊虽然这两种方法都可以比较简
原创
发布博客 2021.10.19 ·
2408 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

URP中实现的Custom2D光照系统的代码分析

虽然urp中是自带2D光照系统的,但是并不能和前向渲染同时使用,只能使用2D工作流了,所以在网上研究了一下怎样实现一个unity内的2D光照系统。代码是来源于https://github.com/SardineFish/Unity2DLighting​github.com/SardineFish/Unity2DLighting这个项目是由一位知乎er写的,也有对应的文章SardineFish:Unity中实现2D光照系统244 赞同 · 17 评论文章正在上传…重新上传取消​阴影产生的.
原创
发布博客 2021.09.27 ·
872 阅读 ·
1 点赞 ·
0 评论 ·
9 收藏

操作系统考研复习指导-某分页式虚拟存储系统,用于页面交换的磁盘的平均访问及传输时间是20ms-王道

某分页式虚拟存储系统,用于页面交换的磁盘的平均访问及传输时间是20ms。页表保存在主存,访问时间为1μs,即每引用一次指令或数据,需要访问两次内存。为改善性能,可以增设一个关联寄存器,如果页表项在关联寄存器里,则只要访问一次内存就可以。假设80%的访问其页表项在关联寄存器中,剩下的20%中,10%的访问(即总数的2%)会产生缺页。请计算有效访问时间。今天又看到了这道题,有人在考研群里问,我又仔细想了一下,感觉答案应该是23。主要的问题集中在是20+2还是20+3。显然,访问页表需要1,最后实际读
原创
发布博客 2020.09.02 ·
7936 阅读 ·
24 点赞 ·
5 评论 ·
45 收藏

MiniPascal编译器-西工大编译原理实验

连续搞了三天的编译原理实验,从最开始啥都不会,到现在熟练地加文法、改bug,也算是小有心得,分享一下我实现的这个相比要求的多了几个功能,比如:消除注释、FOR循环、多维数组、自动类型转换、类型检查、数组维数检查、还有一些错误提示之类的,画抽象语法树使用graphaz来画。有几个关键点需要说一下:环境环境我用的codeblocks,网上下了个flex和bison的包,首先肯定是添加这两个的path路径,之后随便打开一个cmd,敲一个win_bison --help就会有下面这样的,当然具体时间
原创
发布博客 2020.06.04 ·
4145 阅读 ·
4 点赞 ·
7 评论 ·
26 收藏

30天自制操作系统-DAY2

1.fat12格式代码后的re后的resb 18 根据fat12的格式,完全不需要这一句,可以注释掉2.org 7c00 在网上找了一篇讲的很好的http://www.ruanyifeng.com/blog/2015/09/0x7c00.html 是为了兼容8086后的机器,org是设定默认偏移量...
原创
发布博客 2019.10.31 ·
251 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

30天自制操作系统笔记-DAY1

操作系统课上的level3决定做这个了,下午马原大概看了一下第一章,是关于扇区启动的,晚上试了一下,遇到几个问题,总结一下。1.现在没有软盘了 使用了u盘作为启动器,使用usbbit或win32diskManager来将img装载到u盘上,现在u盘变为1.35m,模拟为了fat12的软盘2.开机无法引导,usb启动后依然引导了win10 bios里的引导模式是uefi,...
原创
发布博客 2019.10.30 ·
326 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Unity3D-利用Playable和Timeline实现对话框

因为自己想做一个甜品级的galgame,上学期曾经用java写过一个json的对话流程配置工具,但是gui实在是太难写了,而且写出来的对话树有bug,所以也就作罢了。偶然看到unity的timeline工具,感觉可以使用它做出效率比较高的对啊流程配置,并且不只是对话,连人物的动画,音乐等都可以很好的显示出来。这几天了解了一下timeline中的playablebehaviour和playa...
原创
发布博客 2019.07.25 ·
4192 阅读 ·
1 点赞 ·
2 评论 ·
8 收藏

LeetCode-整数反转-ReverseInteger

看起来很简单的样子,难点是判断是否溢出。但是c#丽是直接利用int.TryParse()来判断,所以直接把数字转为字符串,进行反转,在判断即可。public int Reverse(int x) { string s1 = x.ToString(); string s2 = null; if(x &l...
原创
发布博客 2019.07.22 ·
153 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode-Z字形变换-ZigZagConversion

这道题看着很简单,只要把原串分到几个行中,在拼接起来就可以了,相当于把字符串分到容器中。 public string Convert(string s, int numRows) { if(s.Length == 0 || numRows == 1)//直接返回 { return...
原创
发布博客 2019.07.22 ·
187 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode-最长回文子串-LongestPalindromicSubstring

回文字串的问题,学算法的时候曾经见过,使用动态规划就可以解决,初始化单个和双字符就可以,之后通过判断新串两端的字符是否相等和内部是否为回文串就可以判断新串是否为回文串。public string LongestPalindrome(string s) { if(s.Length == 0) { ...
原创
发布博客 2019.07.22 ·
201 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode-寻找两个有序数组的中位数-MedianOfTwoSortedArrays

比较简单的一道寻找中位数的题,只要不断取两个队列中头较小的一个,直到取到计算中位数所需的一位或两位即可。public double FindMedianSortedArrays(int[] nums1, int[] nums2) { int len = nums1.Length + nums2.Length; int mid...
原创
发布博客 2019.07.20 ·
158 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode-无重复字符的最长子串-LongestSubstringWithoutRepeatingCharacters

首先想到的是固定一位,再从这一位向前寻找相同的字符计算长度,再找出最大长度。但是可以使用滑动窗口法来解决,窗口不断向右延长,遇到重复的字符则左边缩短,在字典里记录每个字符的下个位置即可实现左边界的缩短。 public int LengthOfLongestSubstring(string s) { int len = s.Leng...
原创
发布博客 2019.07.20 ·
163 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode-两数相加-AddTwoNumbers

一道很普通的链表题,只要注意长短不同和进位的问题就可以了,遍历一遍就可以得出结果。 public ListNode AddTwoNumbers(ListNode l1, ListNode l2) { ListNode prevListNode = null;//初始化参数 int sum = 0; ...
原创
发布博客 2019.07.20 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多