Показать сообщение отдельно
  #9 (permalink)  
Старый 13.11.2010, 22:35
Аватар для KOLANICH
Профессор
Отправить личное сообщение для KOLANICH Посмотреть профиль Найти все сообщения от KOLANICH
 
Регистрация: 22.11.2008
Сообщений: 277

я так и сделал, когда прочитал твой пост


function getShader(gl,addr,type,params) {
	var xhr= new XMLHttpRequest();
	xhr.open('POST', addr, false);//получение шейдера - синхронная операция
	xhr.send(params);
	if(xhr.status&&xhr.status != 200) {
		throw new Error("bad status code");
	}
	if(!type)type=xhr.getResponseHeader("content-type").split(";",1)[0];
	var source=xhr.responseText;
	if(!source)throw new Error("unable load shader");
	//console.log("shader is ",source);
	var shader;
	switch (type){
		case "x-shader/x-fragment":
		case "fragment":
			shader = gl.createShader(gl.FRAGMENT_SHADER);
		break;
		case "x-shader/x-vertex":
		case "vertex":
			shader = gl.createShader(gl.VERTEX_SHADER);
		break;
		default:
			throw new Error("bad shader type");
	}
	gl.shaderSource(shader, source);
	gl.compileShader(shader);
	if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
		throw new Error(gl.getShaderInfoLog(shader));
	}
	return shader;
}

Последний раз редактировалось KOLANICH, 13.11.2010 в 22:41.
Ответить с цитированием