Advertisement
Guest User

kotlin opengl trouble

a guest
Apr 29th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.65 KB | None | 0 0
  1. ackage com.stuff.vitali.rubicscubeopengl
  2.  
  3. import android.content.Context
  4. import android.opengl.GLES20.*
  5. import android.util.Log
  6.  
  7.  
  8. object ShaderUtils {
  9.     const val TAG = "SHADER_UTILS_TAG"
  10.     fun createProgramm(vertexShaderId: Int, fragmentShaderId: Int): Int {
  11.         val programId = glCreateProgram()
  12.         if(programId == 0) return 0
  13.         glAttachShader(programId, vertexShaderId)
  14.         glAttachShader(programId, fragmentShaderId)
  15.         glLinkProgram(programId)
  16.         val linkStatus = IntArray(1)
  17.         glGetProgramiv(programId, GL_LINK_STATUS, linkStatus, 0)
  18.         if(linkStatus[0] == GL_FALSE) {
  19.             val linkLogInfo = glGetProgramInfoLog(programId)
  20.             Log.d(TAG, "Error to link programm: $linkLogInfo")
  21.             Log.d(TAG, "End error")
  22.             glDeleteProgram(programId)
  23.             return 0
  24.         }
  25.         return programId
  26.     }
  27.  
  28.     fun createShader(context: Context, type: Int, shaderRawResourceId: Int): Int {
  29.         val shaderString = FileUtils.readTextFromRaw(context, shaderRawResourceId)
  30.         val shaderId = glCreateShader(type)
  31.         if(shaderId == 0) return 0
  32.         glShaderSource(shaderId, shaderString)
  33.         glCompileShader(shaderId)
  34.         val compileStatus = IntArray(1)
  35.         glGetShaderiv(shaderId, GL_COMPILE_STATUS, compileStatus, 0)
  36.         if (compileStatus[0] == GL_FALSE){
  37.             val compileLogInfo = glGetShaderInfoLog(shaderId)
  38.             Log.d(TAG, "Error to compile shader: $compileLogInfo in \n$shaderString")
  39.             Log.d(TAG, "End error")
  40.             glDeleteShader(shaderId)
  41.             return 0
  42.         }
  43.         return shaderId
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement