Package ca.eandb.jmist.framework

Examples of ca.eandb.jmist.framework.Material


   * @see ca.eandb.jmist.framework.path.PathNode#sample(double, double, double)
   */
  public ScatteredRay sample(double ru, double rv, double rj) {
    PathInfo path = getPathInfo();
    WavelengthPacket lambda = path.getWavelengthPacket();
    Material material = surf.getMaterial();
    return material.emit(surf, lambda, ru, rv, rj);
  }
View Full Code Here


   * @see ca.eandb.jmist.framework.path.PathNode#scatter(ca.eandb.jmist.math.Vector3)
   */
  public Color scatter(Vector3 v) {
    PathInfo path = getPathInfo();
    WavelengthPacket lambda = path.getWavelengthPacket();
    Material material = surf.getMaterial();
    return material.emission(surf, v, lambda);
  }
View Full Code Here

   * @see ca.eandb.jmist.framework.path.PathNode#getPDF(ca.eandb.jmist.math.Vector3)
   */
  public double getPDF(Vector3 v) {
    PathInfo path = getPathInfo();
    WavelengthPacket lambda = path.getWavelengthPacket();
    Material material = surf.getMaterial();
    return material.getEmissionPDF(surf, v, lambda);
  }
View Full Code Here

  /**
   * Creates a new <code>CornellBoxModel</code>.
   */
  public EmptyCornellBoxScene(ColorModel colorModel) {
    Material matteWhite = new LambertianMaterial(colorModel.getContinuous(white));
    Material matteGreen = new LambertianMaterial(colorModel.getContinuous(green));
    Material matteRed = new LambertianMaterial(colorModel.getContinuous(red));
    Material matteEmissive = new LambertianMaterial(colorModel.getGray(0.78), colorModel.getContinuous(emission));

    SceneElement materialMap = new MaterialMapSceneElement(geometry)
        .addMaterial("white", matteWhite)
        .addMaterial("red", matteRed)
        .addMaterial("green", matteGreen)
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.path.ScatteringNode#getSourcePDF(ca.eandb.jmist.math.Vector3)
   */
  public double getSourcePDF(Vector3 v) {
    PathInfo path = getPathInfo();
    Material material = surf.getMaterial();
    WavelengthPacket lambda = path.getWavelengthPacket();
    return material.getEmissionPDF(surf, v, lambda);
  }
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.path.ScatteringNode#getSourceRadiance()
   */
  public Color getSourceRadiance() {
    PathInfo path = getPathInfo();
    Material material = surf.getMaterial();
    WavelengthPacket lambda = path.getWavelengthPacket();
    Vector3 out = PathUtil.getDirection(this, getParent());
    return material.emission(surf, out, lambda);
  }
View Full Code Here

   */
  public ScatteredRay sample(double ru, double rv, double rj) {
    PathInfo path = getPathInfo();
    WavelengthPacket lambda = path.getWavelengthPacket();
    Vector3 v = PathUtil.getDirection(getParent(), this);
    Material material = surf.getMaterial();
    return material.scatter(surf, v, isOnEyePath(), lambda, ru, rv, rj);
  }
View Full Code Here

   * @see ca.eandb.jmist.framework.path.PathNode#scatter(ca.eandb.jmist.math.Vector3)
   */
  public Color scatter(Vector3 v) {
    PathInfo path = getPathInfo();
    PathNode parent = getParent();
    Material material = surf.getMaterial();
    WavelengthPacket lambda = path.getWavelengthPacket();
    Vector3 in, out;
    if (isOnLightPath()) {
      in = PathUtil.getDirection(parent, this);
      out = v;
    } else { // isOnEyePath()
      in = v.opposite();
      out = PathUtil.getDirection(this, parent);
    }
    return material.bsdf(surf, in, out, lambda);
  }
View Full Code Here

   * @see ca.eandb.jmist.framework.path.PathNode#getPDF(ca.eandb.jmist.math.Vector3)
   */
  public double getPDF(Vector3 out) {
    PathInfo path = getPathInfo();
    PathNode parent = getParent();
    Material material = surf.getMaterial();
    WavelengthPacket lambda = path.getWavelengthPacket();
    boolean adjoint = isOnEyePath();
    Vector3 in = PathUtil.getDirection(parent, this);
    return material.getScatteringPDF(surf, in, out, adjoint, lambda);
  }
View Full Code Here

   * @see ca.eandb.jmist.framework.path.PathNode#getReversePDF(ca.eandb.jmist.math.Vector3)
   */
  public double getReversePDF(Vector3 in) {
    PathInfo path = getPathInfo();
    PathNode parent = getParent();
    Material material = surf.getMaterial();
    WavelengthPacket lambda = path.getWavelengthPacket();
    boolean adjoint = isOnLightPath();
    Vector3 out = PathUtil.getDirection(this, parent);
    return material.getScatteringPDF(surf, in, out, adjoint, lambda);
  }
View Full Code Here

TOP

Related Classes of ca.eandb.jmist.framework.Material

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.