如何修改 iPhone OpenGL ES 模板中的着色器以产生这种效果?

2024-02-03

我正在尝试修改片段着色器,它是标准 iPhone/XCode OpenGL ES 模板的一部分。我想让它每隔一行像素都是透明的。到目前为止我有这个代码:

varying lowp vec4 colorVarying;

void main()
{
   gl_FragColor = vec4(colorVarying.x, colorVarying.y, colorVarying.z, floor(mod(gl_FragCoord.y, 2.0)));

}

但是当我编译并运行时,我仍然得到相同的方块上下移动,没有其他效果。

这是我的顶点着色器(我的键盘刚刚坏了,所以没有返回键!DOH!)

attribute vec4 position;
attribute vec4 color;

varying vec4 colorVarying;

uniform float translate;

void main()
{
    gl_Position = position;
    gl_Position.y += sin(translate) / 2.0;

    colorVarying = color;
}

使用上面的顶点着色器和片段着色器,我没有得到我所希望的“扫描线效果”。我正在使用 iPad 模拟器和 3.1.3 iPhone 模拟器进行测试。

我在这里做错了什么?我在 Glsl 是个十足的菜鸟 - 我正在尝试自学最基本的知识(从本教程 http://www.mobileorchard.com/getting-started-with-opengl-es-20-on-the-iphone-3gs/) .


您也可以发布您的顶点着色器吗?假设它正在通过vec4 colorVarying当压缩成一行而不是示例中的两行代码(下面发布)时,它没有理由不工作

float odd = floor(mod(gl_FragCoord.y, 2.0));
gl_FragColor = vec4(colorVarying.x, colorVarying.y, colorVarying.z, odd);

我看到的唯一的其他区别是你指定了lowp- 尝试一下没有那个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何修改 iPhone OpenGL ES 模板中的着色器以产生这种效果? 的相关文章

  • ng-submit 和 ng-click 在 ionic iPhone 应用程序中多次触发

    我正在尝试离子框架 它看起来非常好 但是 我在提交表单时遇到问题 表单触发两次 首先是按下提交按钮时 然后是点击屏幕上的任意位置 这种情况在 xcode 模拟器和我的 iphone 4gs 上都会发生 这就是我所做的 我使用以下命令安装侧菜
  • 在 iPhone 上处理电子标签

    知道如何在客户端处理电子标签吗 我们计划在我们的应用程序中使用带有来自服务器的图像的电子标签 关于什么是 eTag 请参阅 http en wikipedia org wiki HTTP ETag http en wikipedia org
  • UITouch移动速度检测

    我正在尝试检测触摸移动的速度 但并不总能得到我期望的结果 补充 速度峰值太多 任何人都可以发现我是否在做一些时髦的事情或建议更好的方法吗 void touchesBegan NSSet touches withEvent UIEvent e
  • 自定义过渡动画在animationControllerForPresentedController和animateTransition之间未知延迟

    我的目标是使动画在第一个视图控制器中开始并在第二个视图控制器中结束 我正在尝试使用符合以下条件的对象进行过渡动画UIViewControllerAnimatedTransitioning and UIViewControllerTransi
  • Objective c,实例成员的内存管理

    我对实例成员的内存管理感到困惑 我有一个带有 ivar 的课程 DetailedResultsTableViewController detailedResultsTableViewController and property nonat
  • MPMediaItemPropertyPercientID 的 NSNumber 到 NSString 并再次返回

    我使用以下代码循环播放 iPhone 音乐库中的所有歌曲 NSArray songs NSArray alloc initWithArray MPMediaQuery songsQuery collections for MPMediaIt
  • 如何向 iPhone 设置页面添加按钮?

    在 首选项 应用中 Safari 的设置页面包含标有 清除历史记录 或 清除缓存 的按钮 邮件应用程序的设置页面包含一个红色的大 删除帐户 按钮 有没有办法为我的应用程序创建这样一个带有按钮的设置页面 我检查了苹果的文档 http deve
  • iPhone UIWebview:如何强制使用数字键盘?是否可以?

    我正在尝试使用 PhoneGap 来开发一些 iPhone 应用程序 PhoneGap 基本上包装了一个 UIWebView 它运行良好 问题是我的应用程序有几个仅接受数字输入的输入字段 我确实需要强制使用数字键盘 而不是接受默认的标准键盘
  • 我可以/如何确定设备是否有振动?

    我有一些设置可以启用 禁用某些操作的振动 但我发现如果设备没有振动能力 则显示它们毫无意义 有没有办法检查用户是否正在使用 iPod touch 以及它是否有振动 我不确定除了进行模型检查之外还有其他方法可以做到这一点 这可能不是一个很好的
  • iOS 从另一个类更新 ViewController UILabel

    我是开发新手 一直在用头撞墙试图弄清楚这一点 我确信 我错过了一些愚蠢的东西 但在尝试了各种不同的解决方案后 我仍然无法得到结果我在寻找 我希望能够从另一个类更新 ViewController 中的 UILabel 这是一个我无法运行的小演
  • 如何检查dispatch_async块是否已完成运行

    所以基本上我需要能够在块完成运行后运行 segue 我有一个块可以执行一些 JSON 操作 我需要知道它何时完成运行 我有一个队列 我称之为 json queue jsonQueue dispatch queue create com ja
  • 我们可以在 Objective-C 中创建可空/非空属性吗?

    我们可以在 Objective C 中创建可空 非空属性吗 如果可以 那么如何创建 您可以使用 Nullable and Nonnull预选赛 property copy nullable NSString name property co
  • 如何在 iPhone 中以编程方式访问保存的图像中的图像而不使用 UIimagePickerController?

    我知道如何让用户从 UIImagePickerController 选择图像 但我不想要那样 我只想将 NSArray 图像存储在手机中 但我不想让用户参与 选择一个然后拥有该图像 相反 我创建了自己的自定义图像选择器控制器并希望有画廊作为
  • iPhone 上的 TCP 打洞

    我已经阅读了一些内容 虽然我是 iPhone 网络的新手 但我想知道 TCP 打孔是否可以通过 NAT 连接两台 iPhone 我还阅读了一些有关 uPnP 和发夹的有用内容 但我根本不熟悉这些内容 所以如果有人对这是否可能有任何想法 我的
  • CGColorRef 导致崩溃

    我的代码发生了崩溃 并且我一直跟踪到在传递 2 个 CGColorRefs 时发生崩溃的行 以下是对象 CGColorRef startColor UIColor colorWithWhite 0 92 alpha 1 0 CGColor
  • 更新表格视图图像子视图中的图像的最佳方法是什么?

    具体来说 如何从 uitableview 单元格中获取图像子视图 我的表视图从网络异步获取数据 当我第一次创建图像视图时 我通过以下方式添加了视图 imageView setImage image cell addSubview image
  • 推送通知中的设备令牌

    我只想向某些用户发送推送通知 根据我在苹果文档中所经历的内容 注册推送通知的代码是这样的 void applicationDidFinishLaunching UIApplication app other setup tasks here
  • 如何在viewDidAppear中给UIView添加动画?

    我尝试向 viewDidLoad 和 viewDidAppear 添加动画 但它不起作用 void viewDidAppear BOOL animated UIView beginAnimations transition context
  • 如何在 xcode 中从 nib 文件创建视图?

    我有以下代码来创建视图并将其放入滚动视图中以允许分页代码工作正常 但是我不能做的是从 nib 文件加载视图 换句话说 我想使用 initWithNibName 而不是 initWithFrame void createPageWithCol
  • AVAudioPlayer 重置当前播放的声音并从头开始播放

    我在使用 AVAudioPlayer 时遇到问题 我想重置当前正在播放的播放器并再次播放 我尝试以下但没有运气 声音播放一次 但第二次我选择按钮时它会停止声音 第三次再次启动声音 Stop the player and restart it

随机推荐

  • 如何验证 KeyUsage 证书

    我正在尝试验证证书以确保它具有正确的 keyUsage 但不明白如何将我的 X509KeyUsageFlags KeyEncypherment 使用标志指定到此应用程序策略中 这是我到目前为止的代码 还有其他人让这个工作吗 X509Cert
  • 有没有像 Firefox 一样可以保存网站的 Python 脚本?

    当我想保存一些网站时 我厌倦了在 Firefox 中单击 文件 然后单击 页面另存为 Python 有没有脚本可以做到这一点 我想保存图片和css文件 这样当我离线阅读时 它看起来很正常 你可以使用 wget wget m k E 网址 E
  • 如何在 Delphi TStringList 中更快地搜索名称/值对?

    我通过将运行时的所有字符串放入 TStringList 中 在应用程序中实现了语言翻译 procedure PopulateStringList begin EnglishStringList Append CAN T FIND FILE
  • HTTP 失败:java.net.SocketException:套接字关闭改造

    尝试了多种方法仍然面临这个问题 我正在使用 RxJava 和 Retrofit 来完成所有网络操作 下面是我的代码 服务 kt GET v1 contact id fun getContactDetails Path id id Strin
  • upnpx 库的 Apple Mach-O 链接器错误

    我在使用 upnpx 库时遇到一个小问题 我已经下载了该库并打开了 upnpdemo 工作区 我在同一工作区中创建了一个新项目 尝试使用该库创建一个简单的应用程序 我像演示项目一样设置参数 但是 XCode 返回 21 个错误 Apple
  • WPF:列表框取消选择

    当用户单击我的单选中的某个项目时ListBox 该项目被选中 当用户第二次单击某个项目时 除非按住 Ctrl 键 否则不会取消选择该项目 建议将 2 更改为不需要控制键的方法是什么 确保选择模式为Multiple 通过选择多个 您只需单击鼠
  • 使用 _FILES 无法将文件发送到 PHP 服务器

    我正在尝试将值发送到 PHP 服务器 但总是收到 HTTP REsponse 200 并且在我的服务器中我没有收到我发送的值 不知道问题是什么 以下是我的 android 和 PHP 代码片段 有人可以帮忙吗我用这个 抱歉代码太多 我也遵循
  • 如何在Asp.Net Mvc4中检查验证码后传递Email Id值?

    我是使用实体框架的 Asp Net Mvc4 的新手 现在我正在为忘记密码进行验证码验证 作为我的代码 当我单击提交按钮时 即使验证码无效 它也会将电子邮件 ID 值传递给控制器 如果验证码正确 我想将电子邮件 ID 值传递给控制器 否则它
  • ASP.NET 无法编译调试

    我有两台 IIS 服务器计算机 A 和 B 它们都为相同的 ASP NET Web 窗体站点提供服务 在 A 上 当我遇到错误时 我会收到详细的错误页面 其中显示生成异常的源代码 在 B 上 当我遇到错误时 我收到消息 The source
  • rspec:第一次失败后如何继续测试

    我正在使用 rspec 来系统测试设备 该设备是模块化的 因此可以将任意数量的子设备连接到测试装置 我想在很多地方编写测试 这些测试将循环连接的子设备并在每个设备上运行相同的测试 基本上 这就是我想要做的 before all tool d
  • 我应该在退出子程序之前重新打开 .CutCopyMode 吗?

    为了优化我的代码 我关闭了几个应用程序对象成员 https msdn microsoft com en us library office ff198091 aspx特性 尤其是 CutCopyMode 属性 https msdn micr
  • TypeError:使用 ReactNative 传递参数时 this.props.navigation.getParam 不是函数

    我在通过 getParam 方法访问参数时遇到错误 如下所示 const source this props navigation getParam source 0 const doFollow this props navigation
  • Service Worker 更新延迟

    我有一个正在运行的 Web 应用程序 它依靠服务工作人员来检查所有缓存的文件并确保用户使用正确的应用程序版本 我们的客户目前希望设备在特定点 重新打开应用程序时 等检查更新 因为目前当您打开应用程序时 设备最多可能需要 5 分钟才能意识到其
  • 如果包装器使用拆箱,那么 intValue() 方法需要什么?

    例如 看看这段代码 Integer myInt new Integer 5 int i1 myInt intValue int i2 myInt System out println i1 System out println i2 正如您
  • addClass 和removeClass 反应

    我想检查目标元素是否包含类 如果没有添加该类 如果是则删除该类 class Hello extends React component addActiveClass e if e target classList contains acti
  • 如何在底图中绘制圆圈或添加艺术家

    我想知道如何使用纬度和经度用底图绘制一个圆 import matplotlib pyplot as plt fig ax plt subplots ax axis 0 10 0 10 circle1 plt Circle 5 5 2 col
  • 无法读取 Kendo Pivot Grid MVC 中未定义的属性“值”

    我正在使用 Kendo Pivot Grid 当我展开行时 控制台中出现错误 无法读取属性 value 的未定义 在出现错误之前 我使用 JavaScript 刷新数据源 并且没有删除度量和维度 当我删除度量和维度并刷新数据源后 一切正常
  • 使用 itext 7 将页码文本添加到 pdf 副本中进行翻转/镜像

    所以 我一直在尝试使用 itext 文档中提供的示例来合并文档并为合并结果创建目录 但是向每个页面添加页码文本的部分并没有像我预期的那样工作 发生的情况是添加的文本在某个水平轴上翻转 如下图所示 另外 用于为添加的文本设置固定位置的方法的
  • 问题:将 12 小时制转换为 24 小时制,然后反转回来

    我是一名 C 初学者 我正在 MVP 中编写一个 Web 应用程序 但在将 12 小时时钟转换为 24 小时时钟时遇到问题 因此 有三个下拉框 小时 分钟 上午 下午 当 AM PM 下拉列表显示为 PM 时 小时值应加 12 这是我的代码
  • 如何修改 iPhone OpenGL ES 模板中的着色器以产生这种效果?

    我正在尝试修改片段着色器 它是标准 iPhone XCode OpenGL ES 模板的一部分 我想让它每隔一行像素都是透明的 到目前为止我有这个代码 varying lowp vec4 colorVarying void main gl