I 🤍 Good Luck

这里将深入探讨相关技术,包括行业动态,架构设计,设计模式,框架使用,源码分析等。

Blend用法

Blend用法 opengl的blend用于颜色混合 ,如果不用混合,两张贴图贴在一起时,前面的贴图会覆盖后面的贴图,加上混合功能,两张贴图可以很好的贴合在一起。用代码演示一下用法。 blend开启方法 blend主要使用下面几个函数: glEnable(GL_BLEND): 开启blend功能 glBlendFunc(GLenum sfactor, GLenum dfac...

Stencil用法

模板测试 opengl的stencil称为模板测试,和深度测试一样,是Opengl中常用的技术。概念就不解释了,直接演示用法。我们实现对一个立方体盒子进行高亮描边。 stencil用法 stencil最简单的用法是使用下面三个函数: glStencilMask(GLuint value): 位遮罩, 0x00设置模板缓冲不可写入;value=0xFF设置可以写入。 glSt...

MVP变换坐标

MVP概念 在opengl中,MVP称为模型观察投影矩阵,它是模型(Model)、观察(View)和投影(Projection)矩阵作用在物体上组合作用,用于对物体的坐标系进行变换。 如上图所示,物体的坐标系变化过程为: 局部坐标系 世界坐标系 观察坐标系 裁剪坐标系 MVP公式 \[MVP=Mprojection⋅Mview⋅Mmodel\] 在shad...

computer shader详解

computer shader详解 使用方式 代码侧调度计算管线任务 vkCmdDIspatch(commandBuffer, groupSize.x, groupSize.y, groupSize.z) groupSize代表工作组数量(xyz三个方向上) shader侧配置设置 layout(local_size_x=...

流体仿真基础

本文来源:YangWC’s Blog 《流体模拟Fluid Simulation:流体模拟基础》 本文主要参考文献《FLUID SIMULATION SIGGRAPH 2007 Course Notes》。 一、矢量微积分   高等数学中太多数讨论的是一维的微积分,而矢量微积分则是一维微积分的高维扩展。矢量微积分的三个基础算子:梯度(符号为 $\nabla$ ),散度(符号为 $\...

物理引擎基础

基础理论 数学基础 ∇:向量微分算子、哈密尔顿算子、Nabla算子、劈形算子,倒三角算子是一个微分算子: $\nabla = {\frac{\partial }{\partial x}}\mathbf{i}+ {\frac{\partial }{\partial y}}\mathbf{j}+ {\frac{\partial }{\partial z}}\mathbf{k}...

收集的物理引擎资源

收集的物理引擎资源 YangWC’s Blog 飞翔的子明游戏物理笔记 何小伟的网站 Ten Minute Physics Video Game Physics Tutorial wmdcstdio的博客 CFD资料汇总 未完待续~

OpenGL纹理

简介 opengl纹理简单来说就是贴图,像2D游戏,就是用大量的贴图拼起来组成丰富多彩的画面。下面我们详细地描述一下使用纹理的代码方式。 示例代码 顶点着色器输入两组坐标,顶点坐标和纹理坐标,纹理坐标直接传递给片段着色器 1 2 3 4 5 6 7 8 9 10 11 12 13 //02.Texture.vs #version 330 core layout (location ...

OpenGL中的坐标系统

常见的坐标系统 opengl的坐标系用一张图概要说明 世界坐标系 在 OpenGL 中,3D世界坐标系采用的是右手笛卡尔坐标系。 屏幕坐标系 屏幕坐标系,大部分是以左上角为原点(0,0)的。 代表的操作系统有Windows,Android,Symbian,iOS 的Core Graphics。 OpenGL 2D坐标系 OpenGL绘制时采用NDC坐标系,NDC就是设备...

浅谈VAO、VBO、VEO

概念说明 在opengl中,VAO,VBO,VEO都是存储顶点数据的缓冲对象,解释如下: 顶点数组对象:Vertex Array Object,VAO 顶点缓冲对象:Vertex Buffer Object,VBO 索引缓冲对象:Element Buffer Object,EBO或Index Buffer Object,IBO 这三个缓冲对象的关系图: 顶点数组对...