自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

分不清东西南北的Laffey

emmm..我去睡个回笼觉(o゚v゚)ノ

  • 博客(57)
  • 收藏
  • 关注

原创 《Unity Shader入门精要》笔记08

因此当开启了光源的阴影效果之后,底层渲染引擎首先会在当前渲染物体的UnityShader中找到LightMode为ShadowCaster的Pass,如果没有,他就会在Fallback指定的UnityShader中继续找,如果还没有,这个物体就无法向其他物体投射阴影(但仍可接收来自其他物体的阴影)。由于Unity文档中没有给出内置衰减计算的相关说明,因此无法在shader中通过内置变量得到光源的范围、聚光灯的朝向、张开角度等信息,因此得到的效果往往不尽人意,尤其是在物体离开光源的照明范围时会发生突变。

2023-10-13 16:43:13 353

原创 《Unity Shader 入门精要》笔记07

Unity中通常使用两种方法来实现透明效果:第一种是试用,这种方法其实无法得到真正的半透明效果;另一种是。由于的存在,可以让不透明物体不考虑他们渲染顺序也能得到正确的排序效果。但是实现透明效果需要关闭。不需要关闭深度写入,它和其他不透明物体最大的不同就是他会根据透明度来舍弃一些片元。原理简单但是很极端,要么完全透明,看不到,要么完全不透明。需要关闭深度写入,不关闭深度测试。对于透明度混合来说,深度缓冲是只读的。可以得到真正的半透明效果。

2023-10-12 11:07:05 390

原创 《Unity Shader入门精要》笔记06

因此从模型空间到切线空间的变换矩阵就是从切线空间到模型空间的变换矩阵的转置矩阵。因此切线(x轴),副切线(y轴),法线(z轴)的顺序。

2023-10-11 11:05:53 262

原创 《Unity Shader入门精要》笔记05

高光部分明显不平滑,因为高光反射部分计算是非线性的,在顶点着色器中计算光照再进行插值的过程是线性的,破坏了原计算非线性关系,会出现视觉问题。Half Lambert 半兰伯特光照模型改善逐像素光照中的背光区域失去模型细节表现的问题,仅为视觉增强。稍微复杂,只有在向前渲染时,函数里的内置变量_WorldSpaceLightPos0等才会被正确赋值。内置函数得到的方向是没有被归一化的,需要使用normalize函数来对结果进行归一化。Blinn模型没有使用反射方向,而是引入了一个新的矢量,

2023-10-09 11:40:51 193

原创 《Unity Shader 入门精要》笔记04

uniform关键词是Cg中修饰变量和参数的一种修饰词,仅仅用于提供一些关于该变量的初始值是如何指定和存储的相关信息,可省略。UnityCG.cginc中一些常用的帮助函数。UnityCG.cginc中一些常用的结构体。片元着色器输出时Unity支持的常用语义。Unity中一些常用的包含文件。

2023-10-08 13:30:50 261

原创 《Unity Shader 入门精要》笔记03

x = 1.0(或-1.0,如果正在使用一个反转的投影矩阵进行渲染,y = Near, z = Far, w = 1.0 + 1.0/Far,其中Near和Far分别是近裁剪平面和远裁剪平面和摄像机的距离)x = width, y - height, z没有定义, w = 1.0(该摄像机是正交摄像机)或w = 0.0(该摄像机是透视摄像机),其中width和height是正交投影摄像机的宽度和高度。公式1:a·b = (ax,ay,az) · (bx,by,bz) = axbx+ayby+azbz。

2023-10-07 15:50:02 220

原创 《Unity Shader 入门精要》笔记02

在渲染阴影纹理时,Unity会在每个Unity Shader中寻找一个阴影投射的Pass,但我们不需要专门实现,因为Fallback使用的内置Shader包含了通用的Pass。Unity会找一个可以在目标平台运行的SubShader,如果没找到则会使用FallBack语义指定的UnityShader。顶点/片元着色器的代码需要定义在Pass语义块内,因为我们需要自己定义每个Pass需要使用的Shader代码。SubShader标签块(仅可以在SubShader使用,不可以在pass中使用。

2023-09-22 16:22:48 293

原创 《UnityShader 入门精要》 笔记01

所有步骤并行由一个三维场景触发、生成(渲染)一张二维图像应用阶段 --(输出渲染图元)->几何阶段–(输出屏幕空间的顶点信息)->光栅化阶段CPU -> GPU -> GPU硬盘(HDD) – CPU – 系统内存(RAM) – GPU – 显存(VRAM)设置使用哪个顶点着色器 片元着色器 光源属性 材质来去渲染DrawCall是由CPU发给GPU的一个命令CPU通过DrawCall来告诉GPU开始进行一个渲染过程,一个DrawCall会指向本次调用需要渲染的图元列表对于几何阶段和光栅化阶段 开发者

2023-09-21 13:33:03 203

原创 Error configuring application listener of class org.springframework.web.util.Log4jConfigListener报错

问题:没有引入maven依赖包解决:选中项目----右键----选择properties----Deployment Assembly----点击 add---- 选择java build path entries ----双击添加到左侧source目录中 ----点击Apply and close

2020-08-24 16:05:57 399

原创 美团2019校招后台开发题目总结

1.关于Java线程说法正确的是A.线程创建后,调用start()方法进入就绪状态B.线程创建后,调用run()方法进入就绪状态C.在同一Thread对象上不允许两次调用start()方法D.线程调用stop()后进入终止状态B 调用run方法进入运行状态,被线程调度程序设置为当前线程C同一Thread对象即同一线程,在线程的整个生命过程中,只会调用一次start()2.Java Set中对象具有一下哪些特点A.不能重复B.每个对象包含一对键、值C.按特定方式排序D.无序Set

2020-08-07 15:42:53 1224

转载 详解Java的自动装箱与拆箱(Autoboxing and unboxing)

一、什么是自动装箱拆箱很简单,下面两句代码就可以看到装箱和拆箱过程1 //自动装箱2 Integer total = 99;3 4 //自动拆箱5 int totalprim = total;简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。下面我们来看看需要装箱拆箱的类型有哪些:这个过程是自动执行的,那么我们需要看看它的执行过程:public class Main { public static void main(Str

2020-08-05 10:43:07 185

原创 20200804

JSONObject.java-------------------JSONObject xx = new JSONObject();try{ xx.put(key,value);}catch(JSONObject e){ e.printStackTrace; <!--查看完整错误信息 只能在控制台输出-->}<!--e.printStackTrace()要尽量少用,可能会导致锁死-->log.info("xxx");---------------

2020-08-04 14:32:53 130

原创 Web开发学习20200801

会话对象的使用检索会话对象存储会话属性访问会话属性销毁会话可使用部署描述符控制所有会话的生命周期<session-config> <session-timeout>10</session-timeout></session-config>Cookie 的定义HTTP 允许一个 Web 服务器在客户机器上存储信息的机制,叫做 CookieCookie 存储在客户的计算机上,Session 存储在服务器端Cookie 在 Web

2020-08-03 15:12:25 123

原创 Web开发学习20200731

使用 HTML Form 的 Servlet<FORM ACTION='servlet-URL' METHOD='{GET|POST}'> {HTML form tags and other HTML content}</FORM>GET 与 POST 的选择HTTP GET 方法用于:请求对服务器没有负面影响Form 数据量小数据的内容应在 URL 中可见,明文传输,安全度低HTTP POST 方法用于:请求的处理过程改变服务器的状态,如在数据库中存储

2020-07-31 16:21:31 173

原创 Web开发学习20200730

Servlet开发及运行过程(1) 构建【开发环境】: 在 Eclipse 创建一个 java 工程,把 tomcat 下 lib 文件夹下的 servlet-api.jar 引入到 Eclipse 的工程中(2) 开发 servlet 类:写一个类继承 HttpServlet;重写 doGet( ) doPost( )(3) 部署【运行环境】:安装 web 服务器,例如 Tomcat在 Tomcat 的 webapps 目录下新建一个文件夹作为 web 程序的根在根下新建一个名为 WEB-I

2020-07-30 14:39:51 157

原创 Web开发学习20200729

HTTP 是 Hypertext Transfer Protocol(超文本传输协议)HTTP 是一个客户端和服务器端请求和应答的标准(TCP)IP(Internet Protocol)是网络之间互连的协议IP 地址是一个逻辑地址,具有全球唯一性URL (Uniform Resource Locator,统一资源定位符)URL 的组成例如:http://host:8080/bookec/pages/user/index.htm。它的含义如下:http://: 代表超文本传输协议host:

2020-07-30 09:09:53 217

转载 JavaScript学习笔记

JavaScriptJavaScript输出JavaScript语法字面量变量操作符语句关键字注释数据类型函数字母大小写JavaScript语句对代码行进行折行JavaScript 变量Value = undefinedJavaScript 数据类型动态类型数组对象Undefined 和 Null声明变量类型JavaScript 对象对象属性访问对象属性对象方法JavaScript作用域JavaScript 变量生命周期HTML 中的全局变量JavaScript 事件类型转换将日期转换为字符串正则表达式表单

2020-07-29 09:37:33 201

转载 CSS学习

CSSCSS语法CSS Id 和 ClassId选择器Class 选择器CSS创建如何插入样式表外部样式表(External style sheet)内部样式表(Internal style sheet)内联v样式(Inline style)多重样式多重样式优先级CSS优先级法则权重计算CSS背景CSS文本格式文本颜色文本的对齐方式文本修饰文本转换文本缩进CSS 字体CSS字型CSS链接CSS 列表list-style-type属性list-style-image属性列表 -简写属性CSS表格表格边框折叠边

2020-07-27 09:28:38 287

转载 HTML学习笔记

HTML简介HTML元素 声明HTML基础-四个实例HTML标题HTML段落HTML链接HTML图像HTML元素HTML元素语法嵌套的HTML元素HTML空元素HTML属性HTML标题水平线注释HTML段落拆行HTML文本格式化HTML 格式化标签HTML 文本格式化标签HTML "计算机输出" 标签简介超文本标记语言(英语:HyperText Markup Language,简称:HTML)HTML不是编程语言,是一种标记语言HTML元素html元素指的是从开始标签到结束标签的所有代码(开始标

2020-07-24 09:53:03 217

转载 Java Spring基础学习笔记

JavaSpring简介Spring的核心机制管理beanEclipse使用spring依赖注入理解依赖注入设值注入构造注入两种注入方式对比Spring开发容器中的bean容器中Bean的作用域使用自动装配注入合作者bean创建Bean的三种方式使用构造器创建Bean实例使用静态工厂方法创建Bean调用实例工厂方法创建Bean两种后处理器Spring的“零配置”支持搜索Bean类使用@Resource配置依赖使用@PostConstruct和@PreDestroy定制生命周期行为Spring4.0增强的自动

2020-07-23 10:26:24 172

转载 Maven基础学习笔记

Maven约定配置Maven POM父(super)POMPOM 标签大全详解Maven 构建生命周期Clean生命周期Default (Build) 生命周期命令行调用Site 生命周期Maven 构建配置文件构建配置文件的类型Maven 仓库本地仓库中央仓库远程仓库Maven构建Java项目Maven构建 & 项目测试Maven引入外部依赖Maven项目模板什么是archetype使用项目模板Maven项目文档Maven 依赖管理可传递性依赖发现依赖范围依赖管理Maven自动化部署Maven W

2020-07-22 15:19:37 389

转载 Java学习

JAVA学习Java变量类型局部变量实例变量类变量(静态变量)Java基本数据类型运算符条件运算符(?:)数组For-Each循环Arrays类异常处理捕获异常多重捕获块throws/throw关键字finally关键字声明自定义异常继承extends关键字implements关键字super与this关键字重写 重载抽象类接口接口特性接口的声明接口的实现枚举enum数据结构集合框架集合算法如何使用迭代器泛型泛型方法类型通配符网络编程Socket 编程Socket客户端实例Socket 服务端实例Sessi

2020-07-22 09:17:48 180

转载 JavaWeb架构--service dao model controller

service层Service层叫服务层,被称为服务,粗略的理解就是对一个或多个DAO进行的再次封装,封装成一个服务,所以这里也就不会是一个原子操作了,需要事物控制。controller层Controler负责请求转发,接受页面过来的参数,传给Service处理,接到返回值,再传给页面。dao层DAO层叫数据访问层,全称为data access object,属于一种比较底层,比较基础的操作,具体到对于某个表的增删改查,也就是说某个DAO一定是和数据库的某一张表一一对应的,其中封装了增删改查基本操

2020-07-13 17:42:44 401

原创 Java学习--Servlet

ServletServlet的三种创建方式1.实现 Servlet 接口2.继承 GenericServlet 类3.继承 HttpServlet 方法doGet()方法doPost()方法Servlet的三种创建方式1.实现 Servlet 接口因为是实现 Servlet 接口,所以我们需要实现接口里的方法。下面我们也说明了 Servlet 的执行过程,也就是 Servlet 的生命周期。//Servlet的生命周期:从Servlet被创建到Servlet被销毁的过程//一次创建,到处服务/

2020-07-13 17:30:36 120

原创 Java学习--配置tomcat

安装配置可见菜鸟教程。。tomcatTomcat 是由 Apache 软件基金会属下 Jakarta 项目开发的 Servlet 容器,是开发和调试 JSP 程序的首选,按照 Sun Microsystems 提供的技术规范,实现了对 Servlet 和 JavaServer Page 的支持,并提供了作为 Web 服务器的一些特有功能。servletServlet是在服务器上执行的Java 组件,主要功能是接收 http请求,产生动态 http响应。配置(eclipse里没有server选项

2020-07-13 10:49:47 408 1

转载 CTF常见编码和加密特征

前言玩CTF的过程中,会遇见各种各样的编码和加密方式,特别在MISC和Reverse中出现次数最多。如果不知道哪种编码或加密方式,做题的过程会很吃力,本文就结合作者自身经历谈谈一些编码的特征。先分享几个加解密网站1 http://www.zjslove.com/3.decode/2 https://www.qqxiuzi.cn/daohang.htm3 http://web.chacuo...

2019-05-18 12:09:16 2798

原创 古典密码总结

古典密码凯撒密码凯撒位移(中文版)栅栏密码棋盘密码乘法密码仿射密码希尔密码摩斯电码猪圈密码键盘密码参考凯撒密码加密公式:密文 = (明文 + 位移数) Mod 26解密公式:明文 = (密文 - 位移数) Mod 26 凯撒位移(中文版)就是按照中文字在Unicode编码表中的顺序进行移位,可以用来加密中文的信息。例:[中文凯撒移位]  转换成Unicode编码:中文凯撒移位  ...

2019-05-17 18:04:38 13755

原创 RC4加密原理步骤

RC41.简介在密码学中,RC4(来自 Rivest Cipher 4 的缩写)是一种流加密算法,密钥长度可变。它加解密使用相同的密钥,因此也属于对称加密算法。RC4 是有线等效加密(WEP)中采用的加密算法,也曾经是 TLS 可采用的算法之一。2.原理及步骤(图片转载地址:https://www.cnblogs.com/block2016/p/5601925.html)1>先初...

2019-03-27 10:10:10 4797

转载 从缓冲系统文件到常见栈溢出函数

List什么是缓冲文件系统?作用代表函数(c语言)非缓冲文件系统特点代表函数栈溢出常见函数0x00 read()函数原型功能返回值0x01 write()函数原型功能返回值0x02 gets()函数原型功能注意0x03 strcpy()和memcpy()和strncpy()函数原型注意0x04 printf()和scanf()非缓冲和缓冲是相对而言的了解什么是非缓冲文件系统之前,先了解一下缓冲...

2018-11-29 12:01:58 748

原创 堆Heap块Chunk

堆&amp;块0x01 基础知识——Chunk0x02 基础知识——Heap0x03 堆的基本操作0x04 堆相关的函数1&gt;malloc2&gt;free0x05 堆溢出0x06 堆溢出中比较重要的几个步骤·寻找堆分配函数realloc malloc calloc·寻找危险函数·确定填充长度0x07 Fast bin0x08 Unsort bin注意点Fastbin attack--blin...

2018-11-29 11:45:42 4312

原创 二叉树的基本操作及应用

二叉树的基本操作实现#include&lt;iostream&gt;using namespace std;typedef struct BiTNode{ char data; //结点数据域 struct BiTNode *lchild, *rchild; //左右孩子指针}BiTNode, *BiTree;void CreateBiTree(BiTree &amp;T){...

2018-11-20 18:49:01 342

原创 栈和队列的基本操作及应用

问题描述商店货架以栈的方式摆放商品。生产日期越近的越靠近栈底,出货时从栈顶取货。一天营业结束,如果货架不满,则需上货。入货直接将商品摆放到货架上,则会使生产日期越近的商品越靠近栈顶。这样就需要倒货架,使生产日期越近的越靠近栈底。基本要求设计一个算法,保证每一次上货后始终保持生产日期越近的商品越靠近栈底。#include&lt;iostream&gt;#define MAXSIZE 100...

2018-11-06 16:00:56 959

原创 MD5算法总结

MD5MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。0x01算法原理0x03 代码实现C++#includ...

2018-11-06 11:59:26 1833

原创 Base64(32)算法总结

Base64(32)0x01概念理解百度百科中解释Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。例如,在Java Persistence系统Hibernate中...

2018-11-06 11:07:56 1963 1

原创 Jarvis OJ-PWN-Tell Me Something wp

开启了NX保护 说明栈中数据没有执行权限拖到IDA里看一下通过观察IDA左侧的函数栏可以看到一个good_game函数点进去观察我们看到了flag.txt 可以想到flag应该就在这个txt文档里于是我们就可以让溢出的返回地址为good_game函数通过cyclic或者IDA来获取长度from pwn import *#p=process(&quot;./guestbook&quot;)...

2018-11-02 18:16:57 417

转载 Linux中出现的小问题

有新问题会持续更新…1.bash: ./xx: Permission denied解决方法为了获得执行权限,借助chmod指令修改文件权限即可其中777是111,111,111,即获得可读可写可执行权限再次运行程序就会发现程序可以运行了...

2018-10-30 19:07:32 184

原创 线性表的基本操作及其应用——约瑟夫环

1.顺序存储/*程序运行后首先要求用户输入初始报数m,人数n,(设n≤10)。上述程序中顺序存储的插入(或删除)操作,链式结构上的插入(或删除)操作。*/#include&lt;iostream&gt;#define MAXSIZE 10//人数上限using namespace std;typedef int DataType;typedef struct { DataT...

2018-10-20 12:14:44 727

原创 网络安全萌新杯

PWN1.Sig给你点信心(nc 120.79.51.146 10000)(flag格式flag{})https://pan.baidu.com/s/1nbsCdWJ893P6RR5wGN2AIw 密码jzpxnc 120.79.51.146 1000064位查找字符串发现system函数简单溢出覆盖返回地址from pwn import *call_addr =...

2018-10-15 21:09:44 374

原创 Jarvis OJ-PWN-[XMAN]level3 wp

地址:nc pwn2.jarvisoj.com 9879一开始拿到题目的时候是一个rar文件解压后就得到了两个文件对这两个文件查看保护两个文件都是32位的level3没有开启栈保护 可以利用栈溢出;栈中内容不可使用 不用shellcodelibc-2.19.so可以看到是全部都开启了用IDA32打开level3跟进vulnerable_function()函数溢出点在r...

2018-10-15 18:25:23 720

转载 PWN栈溢出利用基础

shellcode1.前提:在函数调用栈上的数据有可执行的权限并且关闭ASLR2.可用msf生成3.shellcode是用来打开shell的攻击指令,是软件漏洞中一线段用作攻击载荷的代码,会启动命令行的shell来达到执行命令的操作4.payload = padding1 +address of shellcode +padding2+shellcode5.address of shel...

2018-10-08 20:42:18 641

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除