进阶杂
Chydison
这个作者很懒,什么都没留下…
展开
-
熟练使用Lua(三)模块支持:require的加载module的基本原理(1)
Lua标准库- 模块(Modules)转: https://www.cnblogs.com/jadeboy/p/4150048.htmlLua包库为lua提供简易的加载及创建模块的方法,由require、module方法及package表组成1、module (name [, ···])功能:建立一个模块。module的处理流程:module(name, cb1, cb2, …)a...转载 2018-10-11 10:41:41 · 1256 阅读 · 0 评论 -
jpg 与 png 的区别
转自知乎1. GIF(87年)使用无损压缩8 bit 彩色(256种颜色)支持单一透明色;2. JPG(92年):使用的一种 失真压缩 标准方法24 bit 彩色,内容比GIF丰富不支持动画不支持透明色JPEG的压缩方式通常是破坏性资料压缩(lossy compression),意即在压缩过程中图像的品质会遭受到可见的破坏。一张图片多次上传下载后,图片逐渐会失真。优点:...转载 2018-12-20 15:25:20 · 5470 阅读 · 0 评论 -
熟练使用Lua(六)可扩展性1:Lua虚拟栈操作,Lua的C API
原文链接:https://blog.csdn.net/mydriverc2/article/details/51134737理解Lua栈Lua通过一个“虚拟栈”与C/C++程序进行数据交互,所有的Lua C API都是通过操作这个栈来完成相应的数据通信。Lua的这个“虚拟栈”解决了C/C++程序与Lua程序通信的两大问题:Lua使用垃圾回收,而C/C++需要手动管理内存。Lua使用动态...转载 2018-12-05 15:56:02 · 369 阅读 · 0 评论 -
光照(二):镜面反射分量,Phong模型,Blinn模型
标准光照方程的镜面反射分量指由光源直接经物体表面反射入眼睛的光线。1.Phong模型标题镜面反射的Phong模型所有向量均为单位向量。n为表面法向量。v指向观察者。l指向光源。对方向光源,l为定值。r为“镜像”向量,即l对n的镜像结果。θ为r和v的夹角,θ=r·v,描述镜像的方向性。求向量r r = 2(n·l)n-l下列等式给出镜面反射的Phong模型:...原创 2018-12-01 18:27:07 · 1383 阅读 · 0 评论 -
光照(一):标准光照方程概述
1.计算机中的色彩常用RGB色彩模型表示,这里R表示红,G表示绿,B表示蓝。其精度因平台与渲染状态而异。我们视RGB为0至1之间的值。在计算机图形学中,色彩常被视为数学实体。我们用黑体的小写罗马字母表示色彩符号,如c。色彩可以加、减、乘以标量,和向量运算一样。两个色彩也可以做“按位乘”运算,记做⊗2.标准光照方程标准光照方程其中:Clit:是打开光照情况下计算颜色值的结果。 Cspe...原创 2018-12-01 17:21:17 · 1733 阅读 · 0 评论 -
矩阵变换:沿任意轴旋转及其推导
原文:https://blog.csdn.net/zsq306650083/article/details/8773996#commentsedit转载 2018-11-06 17:23:40 · 480 阅读 · 0 评论 -
Vector3类
class Vector3 {public: float x,y,z; Vector3(){} Vector3(const Vector3 &a) : x(a.x), y(a.y), z(a.z) {} Vector3(float nx, float ny, float nz) : x(nx), y(nz), z(nz) {} Vector3& oper...原创 2018-10-31 18:00:00 · 973 阅读 · 0 评论 -
熟练使用Lua(五)常用库(1):
Lua5.1中数学库的所有函数如下表:math.pi 为圆周率常量 = 3.14159265358979323846abs 取绝对值 math.abs(-15) 15acos 反余弦函数 math.acos(0.5) 1.04719755asin 反正弦函数 math.asin(0.5) 0.52359877atan2 x / y的反正切值 math.atan2(90.0, 45.0) ...转载 2018-10-22 17:43:50 · 293 阅读 · 0 评论 -
熟练使用Lua(二)语言核心:table及Metatable、MetaMethod操作
**Metatable(元表)**Lua 中的每个值都可以用一个 metatable。这个 metatable 就是一个原始的 Lua table ,它用来定义原始值在特定操作下的行为。你可以通过在 metatable 中的特定域设一些值来改变拥有这个 metatable 的值的指定操作之行为。举例来说,当一个非数字的值作加法操作的时候, Lua 会检查它的 metatable 中 “__a...原创 2018-10-09 20:37:23 · 330 阅读 · 0 评论 -
熟练使用Lua(一)语言基础:数据类型、表达式、语句、函数等
…原创 2018-10-09 17:45:13 · 170 阅读 · 0 评论 -
熟练使用Lua(四)面向对象:基于table的面向对象实现(2)
myluaootest.lua–1. 基本原理local Cal = {}function Cal:New(o) o = o or {} setmetatable(o, self) self.__index = self return oendfunction Cal:Add(a, b) print("Cal Add") return a + bendlocal S...原创 2018-10-11 16:21:10 · 161 阅读 · 0 评论 -
熟练使用Lua(四)面向对象:基于table的面向对象实现(1)
转:https://www.cnblogs.com/yao2yaoblog/p/6433553.htmlc++和java语言机制中本身带有面向对象的内容,而lua设计的思想是元编程,没有面向对象的实现。但是利用lua的元表(matetable)机制,可以实现面向对象。要讲清楚怎样实现lua面向对象,需要讲清楚以下内容。1.lua元表 2.类和对象 3.继承1.lua元表lua里的所有数据...转载 2018-10-11 14:23:24 · 464 阅读 · 0 评论 -
lua数据结构之table的内部实现
https://blog.csdn.net/zr339361504/article/details/52432163转载 2019-01-16 20:01:14 · 772 阅读 · 0 评论