shader相关内容
我正在尝试处理碎片着色器中的纹理变换。 窗口分辨率为(640,360),旋转30度,比例为ve2(0.5,0.5)。 这是我想要的: 这是我的片段着色器: precision mediump float; varying vec2 v_texCoord; uniform sam
..
首先让我说我对着色器编程知之甚少。我这里的很多东西都是从在线资源和现有资产中拼凑而成的。我只需要知道如何正确地将高度贴图集成到unity着色器中。它不必比标准的Unity着色器更复杂。我不能使用标准着色器,因为我需要一个将多个纹理平铺在一起的着色器,这可能是我还没有找到这个问题的解决方案的原因。 我混合并移动了代码,删除了一些变量,重命名了一些变量,并在网上寻找有类似问题的任何人。 S
..
我希望将纹理数据作为计算着色器中的一维数组进行处理。我读到,最好的方法是将其作为缓冲区传递,而不是1D纹理。 我正在加载纹理: let textureLoader = MTKTextureLoader(device: device) do { if let image = UIImage(named: "testImage") { let options =
..
当我使用ProBuilder在场景中生成烘焙光照贴图纹理时,我遇到了一个问题,即生成了长的黑白线条。 我已经确保了以下内容: 在所有ProBuilder对象上生成UV2(&Q) 确保启用了自动光照贴图(&Q) 单击";工具>;ProBuilder&>修复&>重新生成所有ProBuilder对象(&q;) 确保您的对象是静态的 确保灯光是静态的,并设置为烘焙(或混合)
..
我想为SKShapeNode添加投影效果。我找到Emboss着色器here。 以下是我的代码: let node = SKShapeNode(rectOf: CGSize(width: w, height: h),cornerRadius: w / 4.0) node.position = CGPoint(x: x, y: frame.size.height + h / 2) node
..
我正在开发一个基于Voxed的小游戏。我不打算创建“我的世界”副本,但这不是这里的重点。 使用C++OpenGL和VBO时,我无法成功地将“非标准”类型发送到我的GLSL Shader。 假设一个由3个uint8_t属性组成的结构,我尝试将此结构的数组发送到我的GLSL。但我无法获取正确的值。 我找到的最准确的东西是:WebGL - How to pass unsigned byte
..
我使用的是戈多的碎片着色器。我可以获得当前像素的世界坐标,如下所示: vec3 pixel_world_pos = (CAMERA_MATRIX * vec4(VERTEX, 1.0)).xyz; 假设我将Pixel_world_pos.y增加10,我想知道该像素是什么颜色。我怎么才能弄清楚这一点呢? 我知道信息存储在UV中,但我使用的是世界坐标,而不是UV坐标. 推荐答案
..
我正在尝试使用Swift在SpriteKit中使用着色器绘制一个中心圆来填充图像。我使用此链接来了解着色器,我使用的部分如下所示: vec2 center = vec2(uResolution.x/2., uResolution.y/2.); float radius = uResolution.x/2.; vec2 position = gl_FragCoord.xy - center
..
作为我以前question的继续,我能够找到一种方法,在WinRT的Windows.Graphics.Capture的帮助下,在没有自己窗口的情况下捕获实时屏幕。我可以直接将注意力集中在特定的窗口句柄上,以获得实时捕获。现在,这个方法的问题是我不能应用像素着色器。具有相同要求但该问题的答案相同的问题Applying HLSL Pixel Shaders to Win32 Screen Captur
..
我一直在搜索OpenGL二进制格式以及它们的实际含义。到目前为止,我还没有取得太大的成功。我知道我可以获取数量和格式集,如下所示: ::glGetIntegerv(GL_PROGRAM_BINARY_FORMATS, &values[0]); ,其中值是大小为 的整数的std::向量 ::glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &va
..
我要在此处调整此着色器: https://aerotwist.com/tutorials/an-introduction-to-shaders-part-2/ 设置为标准Lambert或Phong,以便与场景中的所有灯光一起使用。 我当前的状态是使用以下代码扩展Lambert: var attributes = { displacement: { typ
..
我正在学习联机教程:vulkan-tutorial其中作者正在添加描述符池和描述符集的功能。 我使用的是Vulkanv1.2.135.0,我的着色器设置为#version 450 我几乎完成了本教程的这一部分,我能够渲染旋转正方形,并且在调试模式下编译和运行时没有收到来自Vulkan层的错误。 我在上面的链接提供的页面底部附近,他在UniformBufferOjbect结构中引入
..
一个小背景:我正在尝试制作一个Windows(10)应用程序,使屏幕看起来像旧的CRT监视器、扫描线、模糊等等。我使用微软的这个官方screen capture demo作为起点:在这个阶段,我可以捕获一个窗口,并将其显示在一个新的鼠标直通窗口中,就像它是原始窗口一样。 我正在尝试使用CRT-Royale CRT shaders,它们通常被认为是最好的CRT着色器;它们以.cg格式提供。我用cg
..
我遇到了一个问题,我有一个WPF着色器效果(从Rene Schulte修改而来)来模拟点阵显示(DMD)。一切正常,但所有点都有别名。 请参阅所附图像。 我尝试了WPF中的许多功能,以引入抗锯齿功能,但没有什么用。 在构造函数中(文本框中的图像); RenderOptions.SetBitmapScalingMode(MarqueeTB, BitmapScalingMode
..
大家好, 我需要知道,如何创建如此渐变的颜色 在颤动中使用着色器从上到下,如图中的示例2所示? 我尝试使用此迷你着色器代码执行此操作,但它仍然不适用于我。 final Shader linearGradient = LinearGradient( colors: [ Color(0xff002fff), Color(0xff0
..
我需要使用OpenGL着色器作为编码器输入将RGBA转换为NV12。 已经渲染了两个不同的碎片着色器,两个纹理都来自一个摄影机。使用V4L2获取相机图像(YUV)。然后,将YUV转换为RGB,让OpenGL渲染。下一步,我需要将RGB转换为NV12作为编码器输入,因为编码器只接受NV12格式。 推荐答案 使用计算着色器将rgb转换为平面yuv,然后对UV平面进行二倍的缩减采样。
..
我正在尝试使用平面着色在LWJGL OpenGL中渲染3D棱镜。例如,我有一个多维数据集索引,如下所示: 我在顶点缓冲区中只有8个顶点,我如上所述对它们进行了索引。有没有办法在立方体上实现平坦的法线着色,如下图所示?如果可能,我不想重写顶点和索引缓冲区以包括重复的顶点。 推荐答案 如果不需要任何其他属性(例如纹理坐标),则可以选择仅通过8个顶点创建具有面法向矢量的立方体网格。对法
..
我正在使用Android的GPUImage库来对位图应用一些效果。本质上,GPUImage接受位图并使用OpenGL ES,将1x1立方体渲染到位图大小的帧缓冲区中。用户可以编写自定义片段着色器来控制输出。 我正在尝试编写一个片段着色器,它在给定旋转角度的情况下旋转位图。以下是我到目前为止的情况: varying vec2 textureCoordinate; uniform samp
..
我想修复此图像的失真: 质量问题很抱歉,但这是我能找到的最好的例子了。 我不知道是否有可能修复这种扭曲(我希望有直门和直天花板),但基本上,我不想将像素推到图像外部(红色箭头),这会增加模糊效果,我想做相反的操作(绿色箭头),将像素拉向中心。 如果你有什么想法,那就太棒了。也欢迎其他解决方案! 推荐答案 对于鱼眼效果的定义,您必须将角度(Alpha)与视口的对角线(d)相
..
我想编写一个GLSL着色器程序,用于逐面着色。我的第一次尝试使用flat插值限定符和触发顶点。我对法线和位置顶点属性都使用平面插值,这为我提供了所需的实心绘制曲面的老式效果。 虽然渲染看起来正确,但着色器程序实际上没有正确执行工作: 灯光计算仍以每个碎片为基础(在碎片着色器中), 位置矢量取自挑衅顶点,而不是三角形的质心(对吗?)。 是否可以对三角形的质心应用一次照明公式,然后
..