WebGLShader.js 897 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. THREE.WebGLShader = ( function () {
  2. var addLineNumbers = function ( string ) {
  3. var lines = string.split( '\n' );
  4. for ( var i = 0; i < lines.length; i ++ ) {
  5. lines[ i ] = ( i + 1 ) + ': ' + lines[ i ];
  6. }
  7. return lines.join( '\n' );
  8. };
  9. return function ( gl, type, string ) {
  10. var shader = gl.createShader( type );
  11. gl.shaderSource( shader, string );
  12. gl.compileShader( shader );
  13. if ( gl.getShaderParameter( shader, gl.COMPILE_STATUS ) === false ) {
  14. THREE.error( 'THREE.WebGLShader: Shader couldn\'t compile.' );
  15. }
  16. if ( gl.getShaderInfoLog( shader ) !== '' ) {
  17. THREE.warn( 'THREE.WebGLShader: gl.getShaderInfoLog()', gl.getShaderInfoLog( shader ), addLineNumbers( string ) );
  18. }
  19. // --enable-privileged-webgl-extension
  20. // THREE.log( type, gl.getExtension( 'WEBGL_debug_shaders' ).getTranslatedShaderSource( shader ) );
  21. return shader;
  22. };
  23. } )();