I’m trying to pass a single float to my vertex shader to use for reflectance calculation. I expect there is a simple way to do this, but haven’t seen an example of the implementation.
GLES20.glActiveTexture(GLES20.GL_TEXTURE0 + FORESTFLOORTEXTURES);
GLES20.glBindTexture(GLES20.GL_TEXTURE_2D, mTextureDataHandle[FORESTFLOORTEXTURES]);
GLES20.glUniform1i(mTextureUniformHandle, FORESTFLOORTEXTURES);
TerrainPositions.position(0);
GLES20.glVertexAttribPointer(mPositionHandle, mPositionDataSize, GLES20.GL_FLOAT, false,
0, TerrainPositions);
GLES20.glEnableVertexAttribArray(mPositionHandle);
TerrainNormals.position(0);
GLES20.glVertexAttribPointer(mNormalHandle, mNormalDataSize, GLES20.GL_FLOAT, false,
0, TerrainNormals);
GLES20.glEnableVertexAttribArray(mNormalHandle);
TerrainTextures.position(0);
GLES20.glVertexAttribPointer(mTextureCoordinateHandle, mTextureCoordinateDataSize, GLES20.GL_FLOAT, false,
0, TerrainTextures);
GLES20.glEnableVertexAttribArray(mTextureCoordinateHandle);
TerrainColors.position(0);
GLES20.glVertexAttribPointer(mColorHandle, mColorDataSize, GLES20.GL_FLOAT, false,
0, TerrainColors);
GLES20.glEnableVertexAttribArray(mColorHandle);
//This doesn't work as it's expecting an array buffer instead of a float
//What should I use instead?
GLES20.glVertexAttribPointer(mReflectanceHandle, 1, GLES20.GL_FLOAT, false,
0, 0.3f);
GLES20.glEnableVertexAttribArray(mReflectanceHandle);
1