法线贴图与切线空间

为了能正确使用法线贴图,我们需要在切线空间进行光照,本文记录切线的计算以及 TBN 矩阵的推导,并完善一些细节。最后分别在切线空间、世界空间、观察空间实现 ADS 光照(都实现一遍便于对各个空间有更清晰更深入的理解,并区分其优劣)。

Transformation in OpenGL

实际在 OpenGL 中的变换的一些记录,尤其是与 「GAMES101」Transformation 推导中的一些区别。其中旋转、平移等常见变换以及视图变换均是相同的。这里主要讨论正交投影和透视投影,以及法线变换矩阵的推导。

「GAMES101」Transformation

关于变换的一些笔记。

解决 vue + axios 部署时跨域问题

最近接了一个线上文化周的项目,后端采用 NestJS 并已允许跨域,前端使用 Vue 并用 axios 请求,本机调试正常,但在测试机部署时发生了跨域问题,可以采用 Nginx 代理来解决。

C++ 闭包

关于 C++ Lambda 表达式和闭包的一些思考。

Effective C++ Note

《Effective C++》 一些记录(更新中)。

Some Modern C++ Techniques

Some code and techniques in modern C++(11, 14, 17, 20(just 2a)).

基础光线追踪(8) - 金属材质

实现简单的金属材质。

基础光线追踪(7) - 漫反射材质

实现简单的漫反射材质。

基础光线追踪(6) - 反走样

反走样,消除 $5$ 中较为明显的锯齿。

基础光线追踪(5) - 法向量及多个球

利用球的法向量来着色并简易封装代码实现多个球的渲染。

基础光线追踪(4) - 球

用光线追踪渲染一个球。

基础光线追踪(3) - 光线

编写光线并测试。

基础光线追踪(2) - 向量

完成 Vector.h 的编写。

基础光线追踪(1) - 环境搭建

学习最基础的光线追踪,主要参考 Ray Tracing in One Weekend,不同的是我将使用更现代的 C++ 实现,并用 png 格式显示结果。

「LOJ 138」类欧几里得算法

给出 $T$ 组询问,每组用 $n, a, b, c, k_1, k_2$ 来描述。对于每组询问,请你求出

$$
\sum_{x = 0} ^ {n} x ^ {k_1} {\left \lfloor \frac{ax + b}{c} \right \rfloor} ^ {k_2}
$$

对 $1000000007$ 取模。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×