3D游戏引擎笔记
1 数学知识 1.1 坐标系 分为左手坐标系和右手坐标系两种,主要区别在于z轴的指向,z轴指向屏幕内的是左手坐标系,z轴指向屏幕外的右手坐标系。Unity和Direct3D使用的是左手坐标系,OpenGL使用的右手坐标系。 法线和切线 与椭圆有且仅有一个交点的直线,叫做椭圆的切线。二者公共点,叫做切… 阅读更多 »3D游戏引擎笔记
1 数学知识 1.1 坐标系 分为左手坐标系和右手坐标系两种,主要区别在于z轴的指向,z轴指向屏幕内的是左手坐标系,z轴指向屏幕外的右手坐标系。Unity和Direct3D使用的是左手坐标系,OpenGL使用的右手坐标系。 法线和切线 与椭圆有且仅有一个交点的直线,叫做椭圆的切线。二者公共点,叫做切… 阅读更多 »3D游戏引擎笔记
1 简介 在VSCode中编写的TypeScript代码不能直接运行,需要先用tsc编译为JavaScript,然后才能运行。 有什么方法能直接运行TypeScript呢?使用VSCode插件Code Runner就可以了。 2 使用步骤 首先确保拥有Node.js环境。 2.1 全局安装ts-no… 阅读更多 »VSCode插件CodeRunner直接运行TypeScript
1 功能简介 目前 2.x 版本的Cocos Creator在设置压缩纹理格式时,需要一个一个资源去手动设置,对拥有成千上万个纹理资源的工程来说,这种操作显然不现实。 本文代码的作用就是遍历Creator资源目录,自动化设置压缩纹理格式,并随时可以取消,恢复原始设置。 2 代码 代码里默认配置的是A… 阅读更多 »setETC-一个自动化遍历Creator资源目录设置压缩纹理的脚本
1 什么是压缩纹理 在游戏中,纹理不仅占据大量的包体,也占据了大量的内存。传统的图片压缩格式(如JPEG、PNG等)虽能减少资源大小,但是不能被GPU直接识别,还是需要先加载到内存通过CPU解码,转换成RGB/RGBA等能被GPU识别的格式,才能传送到GPU进行渲染。 为避免这些问题,压缩纹理,指的… 阅读更多 »一个操作让游戏内存立减50+%-性能优化之压缩纹理
如前文所说,和原始的PNG图片相比,压缩纹理在内存和包体上都有巨大的优势,但由于移动设备的硬件和OpenGL ES支持不同,目前还没有一种压缩纹理格式既能发挥优势,又能兼容所有设备,所以需要针对不同平台做定制。 1 不同纹理的特点 1.1 ETC1 ETC1内存占用是PNG的1/4,文件大小是PNG… 阅读更多 »CocosCreator压缩纹理使用总结
1 PNG和ETC的加载区别 1.1 PNG PNG是一种图片压缩格式,并不能被GPU直接识别,CPU把PNG图片读取到内存后,还需要在内存中解码,转换成GPU能识别的数据格式,然后传送给GPU渲染。 整个过程所占内存是编码数据*1+解码数据*2,即原始PNG文件占一份,解码后的数据在内存和GPU各… 阅读更多 »CocosCreator中png和etc纹理所占内存测试
在使用Jenkins构建项目过程中,有时会发现好几个任务的配置其实一样,只是名字或若干参数不一样。建不同的任务虽然简单,但一旦有变化则每个任务都要修改,太繁琐了,这种情况下,就可以使用Jenkins的参数化构建。 参数化是Jenkins自带功能,如下图所示,设置了选项 NAME 对应 aaaaa 和… 阅读更多 »Jenkins参数化构建实现一个任务执行多个分支
1、安装插件Multijobplugin Jenkins系统管理->插件管理->可选插件,输入Multijob,安装此插件。 2、配置Multijob任务 新建一个任务,类型选择 multijob; 任务配置里,增加构建步骤,选择 MultiJob Phase; – job name框输入要执行的任… 阅读更多 »Jenkins如何一键执行多个任务
一 效果预览 通过滑动条可调节波浪频率的快慢。 二 实现原理 对当前uv坐标进行线性+三角函数的混合变换,结合动态变化的时间值,得到一个新的采样坐标,使纹理呈现出动态、起伏不定的波浪形态。 Shader中的关键代码如下。 // 得到波浪效果的新坐标 vec2 new_uv = wave(v_uv0)… 阅读更多 »Cocos Shader实现纹理的动态波浪效果
HSL和RGB是两种常见的颜色模型,被广泛应用于计算机图形学、数字图像处理、Web设计等领域。在进行颜色处理时,经常需要将HSL和RGB相互转换,本demo演示如何通过Cocos Creator 3.7游戏引擎,用HSL模型来调节图片颜色,并详细介绍HSL和RGB互相转换的方法。 一 效果预览 色调… 阅读更多 »Cocos Shader实现HSL和RGB颜色模型
项目代码:https://github.com/foupwang/JavaScript3DRenderer 开发环境:VSCode+Chrome浏览器 参考:《Windows游戏编程大师技巧》(第2版) /《3D游戏编程大师技巧》(André LaMothe) 前文介绍了画点函数,本文说明如何绘制直… 阅读更多 »JavaScript实现软件光栅化渲染器02-如何画直线
原文:https://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html 基本Bresenham算法 考虑在光栅网格上绘制一条直线,这条直线的斜率是 $0\leq m \leq 1$。 斜率定义:假设直线起点是(x1, y1),终点是(… 阅读更多 »Bresenham快速画直线算法(中文翻译+注释)
项目代码:https://github.com/foupwang/JavaScript3DRenderer 开发环境:VSCode+Chrome浏览器 参考:《Windows游戏编程大师技巧》(第2版) /《3D游戏编程大师技巧》(André LaMothe) 整个项目跟平台相关的,只需要一个类似D… 阅读更多 »JavaScript实现软件光栅化渲染器01-如何画点
项目代码:https://github.com/foupwang/JavaScript3DRenderer 开发环境:VSCode+Chrome浏览器 参考:《Windows游戏编程大师技巧》(第2版) /《3D游戏编程大师技巧》(André LaMothe) 软件光栅化渲染器,是指用CPU(软件)… 阅读更多 »JavaScript实现软件光栅化渲染器-前言
Jenkins是个开源免费的自动化构建工具,通过简单的Web界面,支持一键轻松自动化打包/不同用户权限管理/自动触发构建。 1、对于Creator 2.1.4及以下版本,只要在Windows的 控制面板->管理工具->服务 中为Jenkins服务指定一个本地管理员即可;(Windows系统有效) 2… 阅读更多 »用Jenkins构建Creator项目卡死的解决方案
WebGL是什么 WebGL是一项结合了HTML5和JavaScript,用来在网页上绘制和渲染复杂三维图形(3D图形)的技术。WebGL基于OpenGL ES 2.0,也使用GLSL ES编写着色器。 Canvas是什么 HTML5引入标签,定义了网页上的绘图区域,允许JavaScript动态地绘… 阅读更多 »WebGL编程01
随着Jenkins的使用深入,会发现需要给不同的用户配置不同的操作权限,虽然Jenkins也自带用户权限管理,但比较简单,不支持用户组和项目的划分,因此需要第三方插件来实现更精细的权限管理,使用比较广泛的是Role-based Authorization Strategy插件,可以满足所有关于用户和… 阅读更多 »Jenkins的用户权限管理插件Role-based Authorization Strategy
浏览器访问方式 假设Jenkins的访问地址是 http://localhost:8080。则只需在地址后加上相应命令即可。例如: – 关闭 http://localhost:8080/exit – 重启 http://localhost:8080/restart – 重新加载配置 http://l… 阅读更多 »Jenkins启动和停止的几种方式
ThinBackup是一个可以自动备份和恢复的Jenkins插件,使用简单又好用。 安装 Jenkins插件管理中搜索 ThinBackup 进行安装。 备份 Jenkins系统管理 -> ThinBackup -> Settings, 如下图所示。 其中必填的两项是: – Backup direc… 阅读更多 »Jenkins的备份和恢复插件ThinBackup使用
以Apache服务器为例,打开httpd.config文件。 1、确保以下这行是开启状态(即前面没有#号) LoadModule rewrite_module modules/mod_rewrite.so 2、确保以下两处AllowOverride选项为All Options FollowSymLi… 阅读更多 »WordPress改为固定链接后不能访问的解决方法