GLSL纹理图片加载
2019-06-11 本文已影响0人
忆痕无殇
1:创建.vsh顶点着色器对象和.fsh片元着色器对象。
其实就是xcode创建两个对应后缀名的空文件。
但是好奇怪我的xcode版本10.2创建.vsh文件的时候自动写入
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13142" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12042"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
</objects>
</document>
其实是选错空文件了
选错空文件.png
应该选择
空文件.jpg
2:编写内容
注:.fsh片元语言中没有默认的浮点数精度修饰符。因此,对于浮点数,浮点数向量和矩阵变量声明,要么声明必须包含一个精度修饰符,要不默认的精度修饰符在之前已经声明过了。
.fsh内容
varying lowp vec2 varyTextCoord;
uniform sampler2D colorMap;
void main()
{
lowp vec4 temp = texture2D(colorMap, varyTextCoord);
gl_FragColor = temp;
}
.vsh内容
attribute vec4 position;
attribute vec2 textCoordinate;
varying lowp vec2 varyTextCoord;
void main()
{
varyTextCoord = textCoordinate;
gl_Position = position;
}