public void Set(float x, float y, float z) { valueObject.X = x; valueObject.Y = y; valueObject.Z = z; Apply = setVector3; }
public void Set(Vector4[] values) { valueArrayOffset = 0; valueArrayCount = values.Length; valueArrayObject.Target = values; Apply = setVector4Array; }
public void Set(float[] values) { valueArrayOffset = 0; valueArrayCount = values.Length; valueArrayObject.Target = values; Apply = setFloatArray; }
public void Set(Matrix4[] values, int count) { valueArrayOffset = 0; valueArrayCount = count; valueArrayObject.Target = values; Apply = setMatrix4Array; }
public void Set(Vector4[] values, int offset, int count) { valueArrayOffset = offset; valueArrayCount = count; valueArrayObject.Target = values; Apply = setVector4Array; }
public void Set(float[] values, int offset, int count) { valueArrayOffset = offset; valueArrayCount = count; valueArrayObject.Target = values; Apply = setFloatArray; }
private Vector3 ApplyValue(ApplyMethod method, Vector3 originalValue, Vector3 applyValue) { switch (method) { case ApplyMethod.DoNotChange: // do nothing return(originalValue); case ApplyMethod.Add: return(originalValue + applyValue); case ApplyMethod.Multiply: return(new Vector3( originalValue.x * applyValue.x, originalValue.y * applyValue.y, originalValue.z * applyValue.z)); case ApplyMethod.Set: return(startupScale); default: Debug.LogError("Unknown apply method: " + method); return(originalValue); } }
public void Set(ITexture2D resource) { this.resource.Target = resource; if (vertexIndex != -1) video.currentVertexTextures[vertexIndex] = (Texture2D)resource; if (pixelIndex != -1) video.currentPixelTextures[pixelIndex] = (Texture2D)resource; Apply = setTexture2D; }
public void Set(float x, float y, float z) { valueObject.X = x; valueObject.Y = y; valueObject.Z = z; Apply = setVector3; }
public void Set(float x, float y, float z, float w) { valueObject.X = x; valueObject.Y = y; valueObject.Z = z; valueObject.W = w; Apply = setVector4; }
public ShaderVariable(VideoCom video, string name, IntPtr vertexHandle, IntPtr pixelHandel, ShaderModelCom vertexModel, ShaderModelCom pixelModel) { Name = name; com = new ShaderVariableCom(video, vertexHandle, pixelHandel, vertexModel, pixelModel); valueArrayObject = new WeakReference(null); Apply = setNothing; }
public ShaderVariable(VideoCom video, string name, IntPtr vertexHandle, IntPtr pixelHandel, ShaderModelCom vertexModel, ShaderModelCom pixelModel) { Name = name; com = new ShaderVariableCom(video, vertexHandle, pixelHandel, vertexModel, pixelModel); valueArrayObject = new WeakReference(null); Apply = setNothing; }
public void Set(float x, float y, float z, float w) { valueObject.X = x; valueObject.Y = y; valueObject.Z = z; valueObject.W = w; Apply = setVector4; }
public ShaderResource(Video video, string name, int vertexIndex, int pixelIndex) { Name = name; this.video = video; this.vertexIndex = vertexIndex; this.pixelIndex = pixelIndex; com = new ShaderResourceCom(video.com, vertexIndex, pixelIndex); Apply = setNothing; resource = new WeakReference(null); }
public IApplyMethod RegisterApply <TProjection, TEvent>(Func <TProjection, TEvent, TProjection> apply) { var application = new ApplyMethod { ApplyDelegate = apply, EventType = typeof(TEvent), ProjectionType = typeof(TProjection) }; return(RegisterApply(application)); }
public ShaderResource(Video video, string name, int vertexIndex, int pixelIndex) { Name = name; this.video = video; this.vertexIndex = vertexIndex; this.pixelIndex = pixelIndex; com = new ShaderResourceCom(video.com, vertexIndex, pixelIndex); Apply = setNothing; resource = new WeakReference(null); }
public void Set(ITexture2D resource) { this.resource.Target = resource; if (vertexIndex != -1) { video.currentVertexTextures[vertexIndex] = (Texture2D)resource; } if (pixelIndex != -1) { video.currentPixelTextures[pixelIndex] = (Texture2D)resource; } Apply = setTexture2D; }
public IApplyMethod RegisterApply(ApplyMethod application) { if (!_applyMethods.ContainsKey(application.ProjectionType)) { _applyMethods.Add(application.ProjectionType, new Dictionary <Type, ApplyMethod> { { application.EventType, application } }); } else if (!_applyMethods[application.ProjectionType].ContainsKey(application.EventType)) { _applyMethods[application.ProjectionType].Add(application.EventType, application); } else { _applyMethods[application.ProjectionType][application.EventType] = application; } return(application); }
public IBuildUpProjection RegisterProjection <T>() where T : new() { var projectionType = typeof(T); var instance = new T(); var projectionMethods = projectionType.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static); var applyMethods = new List <ApplyMethod>(); foreach (var method in projectionMethods) { var methodParameters = method.GetParameters(); if (methodParameters.Length != 2) { continue; } if (methodParameters[0].ParameterType != projectionType) { continue; } if (method.ReturnType != projectionType) { continue; } var eventType = methodParameters[1].ParameterType; var appMethod = new ApplyMethod { ProjectionType = projectionType, EventType = eventType, ApplyDelegate = CreateDelegateFromMethodInfo(projectionType, eventType, method, instance) }; applyMethods.Add(appMethod); this.RegisterApply(appMethod); } var projection = new BuildUpProjection(projectionType, applyMethods); _projections.Add(projection); return(projection); }
public void Set(Matrix4[] values, int count) { valueArrayOffset = 0; valueArrayCount = count; valueArrayObject.Target = values; Apply = setMatrix4Array; }
public void Set(float[] values, int offset, int count) { valueArrayOffset = offset; valueArrayCount = count; valueArrayObject.Target = values; Apply = setFloatArray; }
public void Set(Vector4[] values, int offset, int count) { valueArrayOffset = offset; valueArrayCount = count; valueArrayObject.Target = values; Apply = setVector4Array; }
public void Set(float value) { valueObject.X = value; Apply = setFloat; }
public void Set(Vector4 value) { valueObject.Vector4 = value; Apply = setVector4; }
public void Set(float value) { valueObject.X = value; Apply = setFloat; }
public void Set(Matrix2 value) { valueObject.Matrix2 = value; Apply = setMatrix2; }
public void Set(Vector4 value) { valueObject.Vector4 = value; Apply = setVector4; }
public void Set(Vector3 value) { valueObject.Vector3 = value; Apply = setVector3; }
public void Set(Matrix3 value) { valueObject.Matrix3 = value; Apply = setMatrix3; }
public void Set(Vector2 value) { valueObject.Vector2 = value; Apply = setVector2; }
public void Set(float x, float y) { valueObject.X = x; valueObject.Y = y; Apply = setVector2; }
public void Set(Vector4[] values) { valueArrayOffset = 0; valueArrayCount = values.Length; valueArrayObject.Target = values; Apply = setVector4Array; }
public void Set(float[] values) { valueArrayOffset = 0; valueArrayCount = values.Length; valueArrayObject.Target = values; Apply = setFloatArray; }
public void Set(Matrix4 value) { valueObject.Matrix4 = value; Apply = setMatrix4; }
public void Set(Matrix3 value) { valueObject.Matrix3 = value; Apply = setMatrix3; }
private Vector3 ApplyValue(ApplyMethod method, Vector3 originalValue, Vector3 applyValue) { switch (method) { case ApplyMethod.DoNotChange: // do nothing return originalValue; case ApplyMethod.Add: return originalValue + applyValue; case ApplyMethod.Multiply: return new Vector3( originalValue.x * applyValue.x, originalValue.y * applyValue.y, originalValue.z * applyValue.z); case ApplyMethod.Set: return startupScale; default: Debug.LogError("Unknown apply method: " + method); return originalValue; } }
public void Set(Matrix4 value) { valueObject.Matrix4 = value; Apply = setMatrix4; }
public void Set(float x, float y) { valueObject.X = x; valueObject.Y = y; Apply = setVector2; }
public void Set(Vector2 value) { valueObject.Vector2 = value; Apply = setVector2; }
public void Set(Vector3 value) { valueObject.Vector3 = value; Apply = setVector3; }
public void Apply(object eventObject, object aggregateObject) { ApplyMethod.Invoke(eventObject, new [] { aggregateObject }); }
public void Set(Matrix2 value) { valueObject.Matrix2 = value; Apply = setMatrix2; }