Package ca.eandb.jmist.framework.color

Examples of ca.eandb.jmist.framework.color.WavelengthPacket


   *     reflectances at the interface.
   * @see ca.eandb.jmist.math.Vector3#opposite()
   */
  public static Color reflectance(Vector3 in, Color n1, Color k1, Color n2, Color k2, Vector3 normal) {
    ColorModel colorModel = n1.getColorModel();
    WavelengthPacket lambda = n1.getWavelengthPacket();

    double[] n1d = n1.toArray();
    double[] k1d = k1 != null ? k1.toArray() : null;
    double[] n2d = n2.toArray();
    double[] k2d = k2 != null ? k2.toArray() : null;
View Full Code Here


  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.Shader#shade(ca.eandb.jmist.framework.ShadingContext)
   */
  public Color shade(ShadingContext sc) {
    WavelengthPacket lambda = sc.getWavelengthPacket();
    return painter.getColor(sc, lambda);
  }
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.Shader#shade(ca.eandb.jmist.framework.ShadingContext)
   */
  public Color shade(ShadingContext sc) {

    WavelengthPacket lambda = sc.getWavelengthPacket();
    ColorModel cm = sc.getColorModel();

    Color kd = diffuse.getColor(sc, lambda);
    Color ks = specular.getColor(sc, lambda);
    Color ka = ambient.getColor(sc, lambda);
View Full Code Here

   */
  public Color shade(ShadingContext sc) {

    if (firstBounceRays > 0 && sc.getPathDepth() < 1) {
      Random sampler = firstBounceSampler.get();
      WavelengthPacket lambda = sc.getWavelengthPacket();
      Color shade = sc.getColorModel().getBlack(lambda);
      for (int i = 0; i < firstBounceRays; i++) {
        ScatteredRay ray = sc.getMaterial().scatter(sc, sc.getIncident(), true, sc.getWavelengthPacket(), sampler.next(), sampler.next(), sampler.next());
        if (ray != null) {
          shade = shade.plus(sc.castRay(ray).times(ray.getColor()));
        }
      }
      return shade.divide(firstBounceRays);
    } else if (sc.getPathDepth() < maxDepth) {
      ScatteredRay ray = sc.getScatteredRay();
      if (ray != null) {
        double prob = ColorUtil.getMeanChannelValue(ray.getColor());
        if (prob < 1.0) {
          if (RandomUtil.bernoulli(prob, rnd.get())) {
            ray = ScatteredRay.select(ray, prob);
          } else {
            ray = null;
          }
        }

        if (ray != null) {
          return sc.castRay(ray).times(ray.getColor());
        }
      }
    }

    WavelengthPacket lambda = sc.getWavelengthPacket();
    return sc.getColorModel().getBlack(lambda);

  }
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.Shader#shade(ca.eandb.jmist.framework.ShadingContext)
   */
  public Color shade(ShadingContext sc) {
    WavelengthPacket lambda = sc.getWavelengthPacket();
    Material mat = sc.getMaterial();
    if (mat.isEmissive()) {
      return mat.emission(sc, sc.getIncident().opposite(), lambda);
    } else {
      return sc.getColorModel().getBlack(lambda);
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.ShadingContext#getAmbientLight()
   */
  public Color getAmbientLight() {
    WavelengthPacket lambda = getWavelengthPacket();
    ColorModel colorModel = lambda.getColorModel();
    return colorModel.getBlack(lambda);
  }
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.Shader#shade(ca.eandb.jmist.framework.ShadingContext)
   */
  public Color shade(ShadingContext sc) {

    WavelengthPacket lambda = sc.getWavelengthPacket();

    if (sc.getPathDepth() == sc.getPathDepthByType(ScatteredRay.Type.SPECULAR)) {
      Material mat = sc.getMaterial();
      if (mat.isEmissive()) {
        return mat.emission(sc, sc.getIncident().opposite(), lambda);
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.Shader#shade(ca.eandb.jmist.framework.ShadingContext)
   */
  public Color shade(ShadingContext sc) {
    WavelengthPacket lambda = sc.getWavelengthPacket();
    Vector3 n = sc.getNormal();
    Vector3 v = sc.getIncident().opposite();
    return Math.abs(n.dot(v)) < threshold ? edgeColor.sample(lambda) : interiorColor.sample(lambda);
  }
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.Shader#shade(ca.eandb.jmist.framework.ShadingContext)
   */
  public Color shade(ShadingContext sc) {
    Material mat = sc.getMaterial();
    WavelengthPacket lambda = sc.getWavelengthPacket();
    Vector3 normal = sc.getShadingNormal();
    Color sum = sc.getColorModel().getBlack(lambda);
    for (LightSample sample : sc.getLightSamples()) {
      if (!sample.castShadowRay(sc)) {
        Vector3 in = sample.getDirToLight().opposite();
View Full Code Here

  /* (non-Javadoc)
   * @see ca.eandb.jmist.framework.Shader#shade(ca.eandb.jmist.framework.ShadingContext)
   */
  public Color shade(ShadingContext sc) {

    WavelengthPacket lambda = sc.getWavelengthPacket();
    double d = sc.getDistance();
    if (distanceInterval.contains(d)) {
      double t = (d - distanceInterval.minimum()) / distanceInterval.length();
      Color ncol = getColorWhiteDefault(minDistanceValue, lambda);
      Color fcol = getColorBlackDefault(maxDistanceValue, lambda);
View Full Code Here

TOP

Related Classes of ca.eandb.jmist.framework.color.WavelengthPacket

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.