mirror of
https://github.com/QuiteAFancyEmerald/Holy-Unblocker.git
synced 2025-05-15 04:40:01 -04:00
75 lines
1.6 KiB
Text
75 lines
1.6 KiB
Text
/*
|
|
* Javascript/Canvas Textured 3D Renderer v0.3
|
|
* Copyright (c) 2008 Jacob Seidelin, cupboy@gmail.com
|
|
* This software is free to use for non-commercial purposes. For anything else, please contact the author.
|
|
* This is a version modified by Stefano Gioffre'.
|
|
*/
|
|
|
|
var __iLightIDCounter = 0;
|
|
|
|
Canvas3D.Light = function() {
|
|
this._oPosition = new Canvas3D.Vec3(0,0,0);
|
|
this._oColor = {r:255,g:255,b:255};
|
|
this._fIntensity = 1.0;
|
|
|
|
this._iLightID = ++__iLightIDCounter;
|
|
};
|
|
|
|
var proto = Canvas3D.Light.prototype;
|
|
|
|
proto.setPosition = function(oPos) {
|
|
this._oPosition = oPos;
|
|
this._bDirty = true;
|
|
}
|
|
|
|
proto.getPosition = function() {
|
|
return this._oPosition;
|
|
}
|
|
|
|
proto.setColor = function(oColor) {
|
|
this._oColor = oColor;
|
|
this._bDirty = true;
|
|
}
|
|
|
|
proto.getColor = function() {
|
|
return this._oColor;
|
|
}
|
|
|
|
proto.setIntensity = function(fIntensity) {
|
|
this._fIntensity = fIntensity;
|
|
this._bDirty = true;
|
|
}
|
|
|
|
proto.getIntensity = function(fIntensity) {
|
|
return this._fIntensity;
|
|
}
|
|
|
|
proto.setScene = function(oScene) {
|
|
if (this._oScene != oScene) {
|
|
this._oScene = oScene;
|
|
this._bDirty = true;
|
|
}
|
|
}
|
|
|
|
proto.draw = function(oContext, iOffsetX, iOffsetY) {
|
|
var oScene = this._oScene;
|
|
var oCam = oScene.getActiveCamera();
|
|
|
|
var oPos2D = oCam.transform2D(oCam.transformPoint(this._oPosition));
|
|
|
|
var iRadius = 3;
|
|
|
|
oContext.beginPath();
|
|
oContext.moveTo(oPos2D.x + iOffsetX + iRadius, oPos2D.y + iOffsetY);
|
|
oContext.arc(oPos2D.x + iOffsetX, oPos2D.y + iOffsetY, iRadius, 0, 360, false);
|
|
oContext.fillStyle = "rgb(255,255,0)";
|
|
oContext.fill();
|
|
}
|
|
|
|
proto.getDirty = function() {
|
|
return this._bDirty;
|
|
}
|
|
|
|
proto.setDirty = function(bDirty) {
|
|
this._bDirty = bDirty;
|
|
}
|