小编Nic*_*kyP的帖子

WebGL使用深度图绘制2D图像,以实现伪3D效果

我正在学习WebGL,在WebGLFundamentals页面的帮助下完成了这一点,这帮助我了解缓冲区,着色器和所有这些东西是如何工作的.但是现在我想达到一定的效果,我在这里看到:https://tympanus.net/Tutorials/HeatDistortionEffect/index3.html 我知道如何制作热变形效果,我想要达到的效果就是深度图片.这个演示有一个教程,但它并没有真正解释如何做到这一点,它说我必须有一个灰度图,其中白色部分是最接近的,黑色部分是最重要的.但我真的不明白它是如何工作的,这是我的着色器的代码:

var vertexShaderText = [
     "attribute vec2 a_position;",
     "attribute vec2 a_texCoord;",
     "uniform vec2 u_resolution;",
     "varying vec2 v_texCoord;",
     "void main() {",
     "  vec2 zeroToOne = a_position / u_resolution;",
     "  vec2 zeroToTwo = zeroToOne * 2.0;",
     "  vec2 clipSpace = zeroToTwo - 1.0;",
     "  gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);",
     "  v_texCoord = a_texCoord;",
     "}"
  ].join("\n")

  var fragShaderText = [
     "precision mediump float;",
     "uniform sampler2D u_image;",
     "uniform sampler2D u_depthMap;",
     "uniform vec2 mouse;",
     "varying vec2 v_texCoord;",
     "void …
Run Code Online (Sandbox Code Playgroud)

javascript image effect depth webgl

2
推荐指数
1
解决办法
2504
查看次数

WebGL着色器可根据鼠标位置为纹理着色

我正在尝试使用WebGL产生有趣的效果。在片段着色器中,我有以下一行以黑白方式绘制我的纹理:

gl_FragColor = vec4(vec3(color0.r+color0.g+color0.b)/3.0, color0.a);
Run Code Online (Sandbox Code Playgroud)

color0纹理的颜色在哪里。在着色器中,我还具有一个uniform vec2 u_mouse从我的JavaScript代码传入的内容,作为鼠标在屏幕上的坐标。现在我想要的是能够移动鼠标,并且图像的一部分将在给定的半径内变色,如图所示:

效果图

我的想法是要有一个带有白色圆圈的蒙版,该蒙版会随鼠标移动,但是我不知道随后如何进行图像处理...我也希望动画不像鼠标值之间的插值。

谢谢!

mouse shader position webgl

2
推荐指数
1
解决办法
1701
查看次数

将一维向量转换为二维

我有一个问题,我正在用 C++ 制作 RPG 游戏,这是我的问题:

我有一个一维向量,其中包含游戏中图块的“gid”元素,如下图所示:

https://i.stack.imgur.com/rrAc9.png

这个 1D 向量包含 400 个元素(我的地图是 20x20),我想将其转换为 2D 向量,这样我就可以创建一个图块网格......

我已经尝试过这个:

map_floor2D.resize(map_floor.size(), map_floor);
    for (int i = 0; i < map_floor2D.size(); i++)
    {
        for (int j = 0; j < map_floor2D[i].size(); i++)
        {
            cout << map_floor2D[i][j];
        }
    }
Run Code Online (Sandbox Code Playgroud)

map_floor是一维向量。 map_floor2D是二维向量

我怎样才能做到这一点?

c++ 2d vector tile

1
推荐指数
1
解决办法
8401
查看次数

标签 统计

webgl ×2

2d ×1

c++ ×1

depth ×1

effect ×1

image ×1

javascript ×1

mouse ×1

position ×1

shader ×1

tile ×1

vector ×1