提交 a58bd904 编写于 作者: M Mr.doob

SoftwareRenderer: Renamed callback to shader. Inlined shader code.

上级 79a3cd07
......@@ -105,7 +105,10 @@ THREE.SoftwareRenderer = function () {
function ( offset, cx1, cx2, scale ) {
var u = cx1 * scale; // 0-255!
var v = cx2 * scale; // 0-255!
drawPixel( offset, u, v, 0 );
data[ offset ] = u;
data[ offset + 1 ] = v;
data[ offset + 2 ] = 0;
data[ offset + 3 ] = 255;
}
)
......@@ -124,7 +127,10 @@ THREE.SoftwareRenderer = function () {
v3.x * canvasWidthHalf + canvasWidthHalf,
- v3.y * canvasHeightHalf + canvasHeightHalf,
function ( offset, cx1, cx2, scale ) {
drawPixel( offset, 0, 255, 0 );
data[ offset ] = 0;
data[ offset + 1 ] = 255;
data[ offset + 2 ] = 0;
data[ offset + 3 ] = 255;
}
);
......@@ -136,7 +142,10 @@ THREE.SoftwareRenderer = function () {
v1.x * canvasWidthHalf + canvasWidthHalf,
- v1.y * canvasHeightHalf + canvasHeightHalf,
function ( offset, cx1, cx2, scale ) {
drawPixel( offset, 0, 0, 255 )
data[ offset ] = 0;
data[ offset + 1 ] = 0;
data[ offset + 2 ] = 255;
data[ offset + 3 ] = 255;
}
);
......@@ -162,21 +171,6 @@ THREE.SoftwareRenderer = function () {
}
/*
function drawPixel( x, y, r, g, b ) {
var offset = ( x + y * canvasWidth ) * 4;
if ( data[ offset + 3 ] ) return;
data[ offset ] = r;
data[ offset + 1 ] = g;
data[ offset + 2 ] = b;
data[ offset + 3 ] = 255;
}
*/
function clearRectangle( x1, y1, x2, y2 ) {
var xmin = Math.max( Math.min( x1, x2 ), 0 );
......@@ -201,7 +195,7 @@ THREE.SoftwareRenderer = function () {
}
function drawTriangle( x1, y1, x2, y2, x3, y3, callback ) {
function drawTriangle( x1, y1, x2, y2, x3, y3, shader ) {
// https://gist.github.com/2486101
// explanation: ttp://pouet.net/topic.php?which=8760&page=1
......@@ -344,7 +338,7 @@ THREE.SoftwareRenderer = function () {
if ( data[ offset + 3 ] === 0 ) {
callback( offset, cx1, cx2, scale );
shader( offset, cx1, cx2, scale );
}
......@@ -378,7 +372,7 @@ THREE.SoftwareRenderer = function () {
if ( ( cx1 | cx2 | cx3 ) >= 0 && data[ offset + 3 ] === 0 ) {
callback( offset, cx1, cx2, scale );
shader( offset, cx1, cx2, scale );
}
......@@ -409,13 +403,4 @@ THREE.SoftwareRenderer = function () {
}
function drawPixel( offset, r, g, b ) {
data[ offset ] = r;
data[ offset + 1 ] = g;
data[ offset + 2 ] = b;
data[ offset + 3 ] = 255;
}
};
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册