相关疑难解决方法(0)

如何将纹理数组绑定到WebGL着色器统一?

我需要处理许多只共享少量纹理的对象.手动定义和加载纹理(如SO上的另一篇文章中所述)感觉不对......更是如此,因为switch (index) {case:...}WebGL中没有任何语句.

所以我想传递纹理以用作顶点属性的顶点,并使用此数字作为fragement着色器中某些"纹理数组"的索引.但是采样器上OpenGL wiki(不是WebGL的完美参考,但是我找到的那个)说:

采样器的变量只能以两种方式之一定义.它可以定义为函数参数或统一变量.

均匀采样器2D纹理1;

那对我来说听起来像我可以没有采样器阵列.我已经阅读了几页纹理单元,但直到现在,这对我来说仍然是一个谜.

在上面引用的SO帖子中,Toji暗示了一个解决方案,但想要一个单独的问题 - 瞧!

谢谢,nobi

PS:我知道使用"纹理图集"的另一种可能性 - 如果这更有效或更简单 - 我会很高兴听到经验!

textures webgl

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

什么是webgl中的VertexIndices?

我正在从这个网站学习WebGL:http://learningwebgl.com/blog/?p = 370

我不明白,什么是VertexIndices,为什么金字塔没有它们?

javascript webgl html5-canvas

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

如何在WebGL中的多维数据集上使用多个纹理?

这是我的源代码.它仍然无法正常工作.我想在一个立方体的6面上放置6张不同的图片,这是动画的.请帮忙 :)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<title>WebGL</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">


<script type="text/javascript" src="glMatrix-0.9.5.min.js"></script>

<script type="text/javascript" src="webgl-utils.js"></script>

<script id="shader-fs" type="x-shader/x-fragment">
precision mediump float;

varying vec2 vTextureCoord;

uniform sampler2D uSampler;

void main(void) {
    gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));
}
</script>

<script id="shader-vs" type="x-shader/x-vertex">
attribute vec3 aVertexPosition;
attribute vec2 aTextureCoord;

uniform mat4 uMVMatrix;
uniform mat4 uPMatrix;

varying vec2 vTextureCoord;


void main(void) {
    gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
    vTextureCoord = aTextureCoord;
}
</script>


<script type="text/javascript">

var …
Run Code Online (Sandbox Code Playgroud)

javascript textures opengl-es webgl

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

标签 统计

webgl ×3

javascript ×2

textures ×2

html5-canvas ×1

opengl-es ×1