fragment-shader相关内容

OpenGL如何精确地透视校正线性插值?

如果在OpenGL管线的栅格化阶段发生线性插值,并且顶点已经转换为屏幕空间,则用于透视正确插值的深度信息从何而来? 有人能详细说明OpenGL如何从屏幕空间基元变成具有正确插值的片段吗? 解决方案 顶点着色器的输出是四个分量向量vec4 gl_Position.摘自GL 4.4核心规范的13.6节的坐标转换: 着色器执行的顶点结果的 修剪坐标,产生顶点坐标gl_Positio ..

SceneKit中的金属着色器可概述对象

我在玩耍,试图在SceneKit中实现Metal着色器,以勾勒出一个对象. 想法是绘制类似于此图片的轮廓(或轮廓),该图片位于此博客文章(博客文章不包含任何代码): 我是SceneKit和Metal着色器的新手,所以我仅能绘制一些几何图形并编写简单的顶点或片段着色器.我很好奇如何达到这种效果?它是通过多次传递完成的吗? 干杯! 解决方案 此处的基本思想是克隆“选定的"节点 ..
发布时间:2020-05-09 02:05:19 移动开发

LookAt函数:我快疯了

我必须做作业,然后尝试实现lookAt函数.我尝试了很多方法,但是唯一得到的结果是蓝屏.我程序的其余部分都可以很好地工作,如果我使用glm :: look实际上就很好.这是我的代码: mat4 Transform::lookAt(const vec3 &eye, const vec3 ¢er, const vec3 &up) { vec3 w(glm::normalize( ..
发布时间:2020-05-07 18:50:35 其他开发

GLSL:着色器链接失败(但没有日志)

我正在尝试为窗口的亮度和对比度创建一个着色器(我见过我可以加载文件,并成功编译着色器.但是我无法链接它.我的问题是该日志没有输出,因此我看不到它出了什么问题.如何检查链接问题?在哪里可以找到有关链接失败的信息,并检查链接失败的原因(我是着色器的新手). 我正在使用Ubuntu 12.04. 这是初始化代码 if (GLEW_ARB_fragment_shader) { / ..
发布时间:2020-05-01 03:46:57 其他开发

自定义着色器SCNProgram iOS 9 Scenekit

我想在 SceneKit 中乱搞并自学它。基本上,我正在创建一个带有3个矩形边和1个倾斜滑块的四边形。 我希望我的纹理在表面上拉伸和变形/变形。 在线阅读一些内容,似乎我需要使用自定义顶点和片段着色器制作 SCNProgram 效果。但是,我似乎无法让纹理在表面上传播。需要帮助。 (我是图形编程的新手,因此试图自己教它)。 我的Swift代码创建几何和纹理如下: func ..
发布时间:2018-09-18 16:36:06 移动开发

如何在SceneKit中使用着色器添加透明度?

我想从图像中获得透明效果,现在我只是用环面测试,但着色器似乎不适用于alpha。从我对这个主题的理解(在Scenekit中使用混合函数)和这个wiki链接关于透明度:( http://en.wikibooks.org/wiki/GLSL_Programming/GLUT/在SceneKit中,透明度), GLBlendFunc 被 pragma透明度替换。 你知道这个代码有什么问题吗? ..
发布时间:2018-09-18 10:09:44 移动开发

高斯模糊 - 标准偏差,半径和内核大小

我在GLSL中实现了高斯模糊片段着色器。我理解所有这些背后的主要概念:卷积,使用线性分离x和y,多次传递以增加半径... 我仍然有几个问题: sigma和radius之间的关系是什么? 我读过sigma相当于radius,我不知道sigma是如何用像素表示的。或者“半径”只是sigma的名称,与像素无关? 如何选择sigma? 考虑到我使用多次传球来增加sigma,我 ..
发布时间:2018-07-30 17:06:29 其他开发

WebGL绘制不同颜色的多个形状

我目前正在学习WebGL和Javascript。赋值要求我使用WebGL创建多个形状,并且它们都是不同的颜色,但是,我无法弄清楚如何设置它以使每个形状都有它自己的颜色。 // HelloTriangle.js(c)2012 matsuda //顶点着色器programvar VSHADER_SOURCE ='属性vec4 a_Position; \ n'+'void main(){\ n' ..
发布时间:2018-07-03 10:34:59 前端开发

有人可以解释这个Fragment Shader?它是一个色度键滤镜(绿屏效果)

我想了解这个色度键筛选器的运作方式。色度键,如果你不知道,是一个绿色屏幕效果。有人能够解释这些函数中的一些是如何工作的,以及他们在做什么吗? float maskY = 0.2989 * colorToReplace。 r + 0.5866 * colorToReplace.g + 0.1145 * colorToReplace.b; float maskCr = 0.7132 *(c ..
发布时间:2016-12-18 01:35:22 其他开发

GLSL:用缓冲区或纹理替换大的均匀int数组

现在我试图传递一个int数组到片段着色器,并通过一个统一的数组: uniform int myArray [300]; 用 glUniform1iv 。 不幸的是,大于〜400 的统一数组失败。我理解我可以使用“统一的缓冲区”,但似乎找不到一个完整的例子传递一个大的1D数组到缓冲区或其他的片段着色器。 任何人都可以提供这样的例子? 解决方案 这 ..
发布时间:2016-10-23 20:07:48 C/C++开发

用于片段着色器的OpenGL GLSL绑定采样器

我希望在2D OpenGL应用程序上实现着色器。我的计划是渲染一个场景到一个framebuffer对象,然后使用着色器渲染该framebuffer对象到屏幕。 这是我画的场景一个framebuffer对象,然后从那里到屏幕。使用箭头键使月亮四处移动(我感到非常自豪!) 但是,当我尝试使用我的着色器程序渲染framebuffer对象到屏幕时, p> 这很伤心。此片段着色器是我从教程 ..
发布时间:2016-10-20 23:51:58 C/C++开发

碎片着色器莫名其妙的bahaviour

我写了一个C ++程序,我在这里绘制一个茶壶并应用照明。它本身很简单,但我也使用着色器。简单我是新的GLSL我只是试了一个简单的片段着色器,但屏幕输出是莫名的。 在此文件中,我在init方法中初始化glew,其中我还编译顶点和片段着色器。它们在“vertex_shader”和“fragment_shader”文件中。 你可能不认识的东西是什么是光和材料。它们只是一些结构,包含关于灯的所 ..
发布时间:2016-10-20 23:44:04 C/C++开发

使用GPUImage在OpenGL ES渲染布尔返回类型函数

我正在使用iOS的项目,使用GPUImage框架。我不能让我的着色遵守。 有一个在我的片段着色器功能: 常量VEC2 boundMin = VEC2(0.0,0.0); 常量VEC2 boundMax = VEC2(1.0,1.0);布尔界外球(VEC2 P){ 返回所有(每种不超过(boundMin,P))及和放大器;所有(每种不超过(P,boundMax)); } 着色器编译日志 ..
发布时间:2016-08-12 09:47:04 移动开发

YUV到RGB转换由片段着色器

我有一个问题,从YUV格式为RGB Android摄像头preVIEW皈依。转换的目的是应用一些影响。我试图通过片段着色器来进行转换,因为皈依母语code是慢(约14fps)。这是我用过的参考 http://jyrom.tistory.com/m /后/查看/ ID / 187 。我尝试这个端口code到Android平台,但结果却是黑绿色的矩形。但是,我可以看一些形式,通过它我得到的输出。能否请 ..
发布时间:2015-12-02 01:03:13 移动开发

借鉴GPU二次曲线

我的任务是使通过的Stage3D(的Adobe Flash)技术,该技术没有任何扩展为绘制二次贝塞尔曲线(路径)即开即用的盒(而OpenGL的拥有它,因为我知道)。是啊,有一个八哥,扩展显卡,但它使用简单的方法来分割曲线段,以许多直线,产生非常多的三角形为我长的曲线路径。 所以..还有一些用来呈现independed分辨率形状环路和博林一个完美的方式。我读过GPUGems3文章(gpugems3 ..
发布时间:2015-11-30 15:12:32 C/C++