modules/graphics/src/main/jsl-decora/LinearConvolveShadow.jsl
Print this page
*** 22,68 ****
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
<<
- private LinearConvolveKernel getKernel() {
- return (LinearConvolveKernel) AccessHelper.getState(getEffect());
- }
-
- public int getPow2ScaleX(LinearConvolveKernel kernel) {
- return kernel.getPow2ScaleX();
- }
-
- public int getPow2ScaleY(LinearConvolveKernel kernel) {
- return kernel.getPow2ScaleY();
- }
-
public Rectangle getResultBounds(com.sun.javafx.geom.transform.BaseTransform transform,
com.sun.javafx.geom.Rectangle outputClip,
com.sun.scenario.effect.ImageData... inputDatas)
{
! return getKernel().getScaledResultBounds(inputDatas[0].getTransformedBounds(outputClip), getPass());
}
private int getCount() {
! return (getKernel().getScaledKernelSize(getPass()) + 3) / 4;
}
private float[] getOffset() {
! return getKernel().getVector(getInputNativeBounds(0), getInputTransform(0), getPass());
}
private FloatBuffer getWeights() {
! return getKernel().getWeights(getPass());
}
private int getWeightsArrayLength() {
! return getKernel().getWeightsArrayLength(getPass());
}
private float[] getShadowColor() {
! return getKernel().getShadowColorComponents(getPass());
}
>>
param sampler img;
param int count;
--- 22,56 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
<<
public Rectangle getResultBounds(com.sun.javafx.geom.transform.BaseTransform transform,
com.sun.javafx.geom.Rectangle outputClip,
com.sun.scenario.effect.ImageData... inputDatas)
{
! return getRenderState().getPassResultBounds(inputDatas[0].getTransformedBounds(outputClip));
}
private int getCount() {
! return (getRenderState().getPassKernelSize() + 3) / 4;
}
private float[] getOffset() {
! return getRenderState().getPassVector();
}
private FloatBuffer getWeights() {
! return getRenderState().getPassWeights();
}
private int getWeightsArrayLength() {
! return getRenderState().getPassWeightsArrayLength();
}
private float[] getShadowColor() {
! return getRenderState().getPassShadowColorComponents();
}
>>
param sampler img;
param int count;
*** 71,84 ****
// offset.z = dx offset to first weighted convolution sample
// offset.w = dy offset to first weighted convolution sample
param float4 offset;
param float4 shadowColor;
// value for each location in the offsets array:
! // weights[i].x = weight for pos0 + offset + i*direction*4+0
! // weights[i].y = weight for pos0 + offset + i*direction*4+1
! // weights[i].z = weight for pos0 + offset + i*direction*4+2
! // weights[i].w = weight for pos0 + offset + i*direction*4+3
param float4 weights[%d];
void main()
{
int i;
--- 59,72 ----
// offset.z = dx offset to first weighted convolution sample
// offset.w = dy offset to first weighted convolution sample
param float4 offset;
param float4 shadowColor;
// value for each location in the offsets array:
! // weights[i].x = weight for pos0 + offset.zw + (i*4+0)*offset.xy
! // weights[i].y = weight for pos0 + offset.zw + (i*4+1)*offset.xy
! // weights[i].z = weight for pos0 + offset.zw + (i*4+2)*offset.xy
! // weights[i].w = weight for pos0 + offset.zw + (i*4+3)*offset.xy
param float4 weights[%d];
void main()
{
int i;