• 2024-07-02一个能让渲染性能提高100倍的办法
    GPU光线追踪是当今的热门话题,所以让我们来谈谈它!今天我们将光线追踪一个单个球体。使用片段着色器。是的,我知道。并不特别花哨。你可以在 Shadertoy上搜索并获得数百个示例(https://www.shadertoy.com/results?query=sphere)。甚至已经有一些很棒的教程教你如何做 球体Im
  • 2024-06-01OpenGL:三角形的诞生
    先放一个图形渲染管线的每个阶段的抽象展示。要注意蓝色部分代表的是我们可以注入自定义的着色器的部分:顶点缓冲对象(VBO)所有的顶点数据(位置、纹理、法线等)都需要存储在GPU上,OpenGL通过顶点缓冲对象管理这个内存。其声明和绑定的代码函数如下:unsignedintvbo;glGenBuffers(1,
  • 2024-05-11WebGL:使用着色器进行几何造型
    前言本文将介绍如何使用着色器来进行几何造型,说到几何图形大家一定都不陌生,比如说三角形、圆形,接触过WebGL基础使用的小伙伴一定都知道怎么去在画布上绘制一个三角形,只要传入三个顶点坐标,并选择绘图模式,我们就能在WebGL的画布上画出一个三角形。但是除了这种形式之外,我们还可以
  • 2024-04-16WPF/C#实现图像滤镜优化方案:打造炫目视觉体验!
    原因:我之所以想做这个项目,是因为在之前查找关于C#/WPF相关资料时,我发现讲解图像滤镜的资源非常稀缺。此外,我注意到许多现有的开源库主要基于CPU进行图像渲染。这种方式在处理大量图像时,会导致CPU的渲染负担过重。因此,我将在下文中介绍如何通过GPU渲染来有效实现图像的各种滤镜效果
  • 2024-04-05第三个OpenGL程序,shaders _ 后续 之 封装着色器类
    着色器类:头文件h:#ifndefSHADER_H#defineSHADER_H#include<GLAD/glad.h>#include<glfw3.h>#include<string>#include<fstream>#include<sstream>#include<iostream>classShader{public://程序IDunsignedint
  • 2024-04-04第三个OpenGL程序,shaders
    效果: GLSL  顶点着色器源码#version330corelayout(location=0)invec3aPos;//位置变量的属性位置值为0outvec4vertexColor;//为片段着色器指定一个颜色输出voidmain(){gl_Position=vec4(aPos,1.0);//注意我们如何把一个vec3作为vec4的构造
  • 2024-04-03【HTML】简单制作一个动态3D正方体
     目录前言开始HTML部分JS部分CSS部分效果图总结前言    无需多言,本文将详细介绍一段代码,具体内容如下: 开始    首先新建文件夹,创建两个文本文档,其中HTML的文件名改为[index.html],JS的文件名改为[script.js],CSS的文件名改为[style.css],创建好后
  • 2024-04-02手撸逐像素着色器,每行都有注释,史上最强注释讲解
    逐像素着色器效果最好,但是性能开销较大,目前运用的也比较多,包括移动端,下一篇讲解逐顶点着色器,效果相对较差(PS:其实diffuse贴图做好)效果也不怎么看的出来差距,但是性能开销较小,更适合移动端甚至移动端性能低下的产品。   注意,此shader是标准的逐像素着色器,光照是在片源里面实
  • 2024-03-27d3d12龙书阅读----绘制几何体(上)
    d3d12龙书阅读----绘制几何体(上)本节主要介绍了构建一个简单的彩色立方体所需流程与重要的api下面主要结合立方体代码分析本节相关知识顶点输入装配器阶段的输入首先,我们需要定义立方体的八个顶点顶点结构体:structVertex{XMFLOAT3Pos;XMFLOAT4Color;};当然
  • 2024-03-21Unity解决z冲突(Z-Fighting)的几种方式
    1、在物理上将对象移得更远在大多数情况下,只需增加战斗对象之间的距离就可以解决深度冲突问题。这是最明显的解决方案,但遗憾的是,根据具体情况,并不总是可能的,但如果是的话,那么总是尝试增加对象之间的距离,如果这样做没有任何缺点!UnityZ-Fight示例。2、增加相机的*剪裁*面并减少远
  • 2024-03-19渲染管线概念篇
    渲染管线概念渲染是一个非常复杂的过程,它需要从一系列的顶点、纹理等信息出发,把这些信息最终转换成屏幕图像,而在这个过程中,需要CPU和GPU密切配合,这一个过程也叫渲染流水线。什么是渲染流水线?渲染管线也叫渲染流水线。流水线是并行进行的,可以大大提高生产的效率。图形渲染过程也
  • 2024-03-19OpenGL万字超详解笔记(适合新手小白)
    OpenGL万字超详解笔记(适合新手小白)参考资料20分钟让你了解OpenGL——OpenGL全流程详细解读【OpenGL】基本API的详解及参考OpenGL初学者入门——学习指南【共9篇文章】LearnOpenlcnOpenGL状态机深度测试(DepthTest)概念[OpenGL]VBO,VAO和EBO详解基本概念OpenGL是什
  • 2024-03-15【OpenGL原理】顶点着色器、片元着色器、几何着色器
    一、说明        我们除了对GLSL语言本身的理解,对真正的宏观管线认知是越早越好的事情。理解着色器的能力,以及使用局限性能够迫使我们修正设计思路。也许我们胸中有无限多的想象,一旦面对着色器的无能为力,精妙想向也就灰飞叶湮灭。有时需要引进其它的环节,但又不能确定
  • 2024-03-11Unity3D Shader事项法线贴图功能详解
    Unity3D它提供了丰富的功能和工具,使开发人员能够轻松创建出色的游戏和应用程序。其中Shader是Unity3D中非常重要的一部分,它可以帮助开发人员实现各种视觉效果,包括法线贴图功能。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技
  • 2024-03-04Unity3D Shader事项法线贴图功能详解
    Unity3D它提供了丰富的功能和工具,使开发人员能够轻松创建出色的游戏和应用程序。其中Shader是Unity3D中非常重要的一部分,它可以帮助开发人员实现各种视觉效果,包括法线贴图功能。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技
  • 2024-02-28Unity3D 逐顶点光照与逐像素光照详解
    Unity3D提供了丰富的功能和工具,其中包括逐顶点光照和逐像素光照。本文将详细解释这两种光照技术的原理和实现方式,并提供代码示例。对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。一、逐顶点光照逐
  • 2024-02-07基于 GPU 渲染的高性能空间包围计算
    空间包围检测在计算机图形学、虚拟仿真、工业生产等有着广泛的应用。现代煤矿开采过程中,安全一直是最大的挑战之一。地质空间中存在诸多如瓦斯积聚、地质构造异常、水文条件不利等隐蔽致灾因素,一旦被触发,可能引发灾难性的后果。因此在安全生产过程中有效的管理和规避各隐蔽致灾因素
  • 2024-02-04用纹理增加细节
    一.理解纹理OpenGL中的纹理可以用来表示照片,图像。每个二维的纹理都由许多小的纹理元素组成,他们是小块的数据,类似于我们前面讨论的片段和像素。要使用纹理,最直接的方式是从图像文件加载数据。我们现在要加载下面这副图像作为空气曲棍球桌子的表面纹理:我们将其存储
  • 2024-02-02内置着色器
    内置着色器(普通渲染管线)FX:光照和玻璃特效。GUI和UI:用于显示用户界面图形。移动端(Mobile):适用于移动设备的简化高性能着色器。大自然(Nature):用于树木和地形。粒子(Particles):粒子系统特效。天空盒(Skybox):用于渲染所有几何体后面的背景环境精灵(Sprites):与2D精灵系统结
  • 2024-01-31编译着色器并在屏幕上绘图
    一.前言  本篇文章会继续上一篇文章开始的工作,在这篇文章中,我们首先会加载并编译前面定义的着色器,然后把他们链接在一起放在OpenGL的一个程序里,接下来就可以使用这个着色器程序在屏幕上绘制空气曲棍球桌子结构了。 二.加载着色器1.我们已经为着色器写了代码,下一步则要把
  • 2024-01-30OpenGL学习(一)
    OpenGL学习(一)基本概念因为OpenGLES是OpenGL的一个子集,所以下面就主要介绍一些有关OpenGL的一些基本概念。OpenGL的结构可以从逻辑上划分为下面3个部分:图元(Primitives)缓冲区(Buffers)光栅化(Rasterize)图元(Primitives)在OpenGL的世界里,我们只能画点、线、三角形这
  • 2024-01-30OpenGL学习(三)——GLSL
    OpenGL学习(三)——GLSL参考资料:【双语】【TheCherno】OpenGL_哔哩哔哩_bilibili[LearnOpenGLCN(learnopengl-cn.github.io)](https://learnopengl-cn.github.io/01Gettingstarted/02Creatingawindow/)LearnOpenGL示例环境搭建-知乎(zhihu.com)GLSL着色器(Shad
  • 2024-01-29基于 GPU 渲染的高性能空间包围计算
    空间包围检测在计算机图形学、虚拟仿真、工业生产等有着广泛的应用。现代煤矿开采过程中,安全一直是最大的挑战之一。地质空间中存在诸多如瓦斯积聚、地质构造异常、水文条件不利等隐蔽致灾因素,一旦被触发,可能引发灾难性的后果。因此在安全生产过程中有效的管理和规避各隐蔽致灾因
  • 2023-12-28Unity3D Shader在GPU上是如何执行的详解
    Unity3D是一款广泛应用于游戏开发的跨平台开发引擎,它提供了丰富的功能和工具来帮助开发者创建高质量的游戏。其中一个重要的功能就是Shader,它可以用来控制对象的渲染效果。在Unity3D中,Shader是在GPU上执行的,那么它是如何工作的呢?本文将详细解释Unity3DShader在GPU上的执行过程,并
  • 2023-12-27Unity3D Shader在GPU上是如何执行的详解
    前言Unity3D是一款广泛应用于游戏开发的跨平台开发引擎,它提供了丰富的功能和工具来帮助开发者创建高质量的游戏。其中一个重要的功能就是Shader,它可以用来控制对象的渲染效果。在Unity3D中,Shader是在GPU上执行的,那么它是如何工作的呢?本文将详细解释Unity3DShader在GPU上的执行过