public class TextureBlenderLuminance
extends java.lang.Object
The class that is responsible for blending the following texture types:
Not yet supported (but will be):
Modifier and Type | Field and Description |
---|---|
protected float |
blendFactor |
protected int |
blendType |
protected float[] |
color |
protected int |
flag |
protected float[] |
materialColor |
protected boolean |
negateTexture |
MTEX_ADD, MTEX_BLEND, MTEX_BLEND_COLOR, MTEX_BLEND_HUE, MTEX_BLEND_SAT, MTEX_BLEND_VAL, MTEX_DARK, MTEX_DIFF, MTEX_DIV, MTEX_LIGHT, MTEX_MUL, MTEX_NUM_BLENDTYPES, MTEX_OVERLAY, MTEX_SCREEN, MTEX_SUB
Constructor and Description |
---|
TextureBlenderLuminance(int flag,
boolean negateTexture,
int blendType,
float[] materialColor,
float[] color,
float blendFactor) |
Modifier and Type | Method and Description |
---|---|
Image |
blend(Image image,
Image baseImage,
BlenderContext blenderContext)
This method blends the given texture with material color and the defined
color in 'map to' panel.
|
protected void |
blendHSV(int type,
float[] materialRGB,
float fac,
float[] pixelColor,
BlenderContext blenderContext)
The method that performs the ramp blending.
|
protected void |
blendPixel(float[] result,
float[] materialColor,
float[] color,
float textureIntensity,
float textureFactor,
int blendtype,
BlenderContext blenderContext)
This method blends the texture with an appropriate color.
|
void |
copyBlendingData(TextureBlender textureBlender)
Copies blending data.
|
protected void |
getTinAndAlpha(java.nio.ByteBuffer data,
Image.Format imageFormat,
boolean neg,
float[] result)
This method return texture intensity and alpha value.
|
protected void |
prepareImagesForBlending(Image target,
Image source)
The method prepares images for blending.
|
protected int flag
protected boolean negateTexture
protected int blendType
protected float[] materialColor
protected float[] color
protected float blendFactor
public TextureBlenderLuminance(int flag, boolean negateTexture, int blendType, float[] materialColor, float[] color, float blendFactor)
public Image blend(Image image, Image baseImage, BlenderContext blenderContext)
TextureBlender
image
- the image we use in blendingbaseImage
- the texture that is underneath the current texture (its pixels
will be used instead of material color)blenderContext
- the blender contextprotected void getTinAndAlpha(java.nio.ByteBuffer data, Image.Format imageFormat, boolean neg, float[] result)
data
- the texture dataimageFormat
- the image formatneg
- indicates if the texture is negatedresult
- the table (2 elements) where the result is being storedprotected void blendPixel(float[] result, float[] materialColor, float[] color, float textureIntensity, float textureFactor, int blendtype, BlenderContext blenderContext)
result
- the result color (variable 'in' in blender source code)materialColor
- the texture color (variable 'out' in blender source coude)color
- the previous color (variable 'tex' in blender source code)textureIntensity
- texture intensity (variable 'fact' in blender source code)textureFactor
- texture affection factor (variable 'facg' in blender source
code)blendtype
- the blend typeblenderContext
- the blender contextprotected void blendHSV(int type, float[] materialRGB, float fac, float[] pixelColor, BlenderContext blenderContext)
type
- the blend typematerialRGB
- the rgb value of the material, here the result is stored toofac
- color affection factorpixelColor
- the texture colorblenderContext
- the blender contextpublic void copyBlendingData(TextureBlender textureBlender)
TextureBlender
copyBlendingData
in interface TextureBlender
textureBlender
- the blend data that should be copiedprotected void prepareImagesForBlending(Image target, Image source)
target
- the image where the blending result is storedsource
- the image that is being read only