コード例 #1
0
ファイル: Material.cpp プロジェクト: Yan-Song/burdakovd
RT::Material RT::Material::Cut(const Point2D &base, const Vector2D &dx, const Vector2D &dy) const
{
	RT::Material m(*this);

	m.base = TexturePoint(base);
	m.dx = TexturePoint(dx);
	m.dy = TexturePoint(dy);

	return m;
}
コード例 #2
0
ファイル: Material.cpp プロジェクト: Yan-Song/burdakovd
RealColor RT::Material::GetPixel(const Point2D& MaterialPoint) const
{
	if(has_texture)
	{
		const Point2D tPoint = TexturePoint(MaterialPoint);
	
		return Texture->GetPixel(iround(tPoint[0]), iround(tPoint[1]));
	}
	else
	{
		return color;
	}
}
コード例 #3
0
TexturePoint Cilindro::pontoTextura(const Ponto_3D& ponto) const
{
    float theta;
    Vetor_3D tmp(ponto - centro);
    Vetor_3D tmp_xz(tmp);

    tmp.normaliza();

    tmp_xz.setY(0);
    tmp_xz.normaliza();

    theta  = acosf(tmp_xz.Z());

    return TexturePoint(theta/M_PI, .5 - tmp.Y()/2.);
}
コード例 #4
0
ファイル: cone.cpp プロジェクト: Lagun05/CGTrabalho2
TexturePoint Cilindro::pontoTextura(const Ponto_3D& ponto) const
{
    float phi, theta;
    Vetor_3D tmp;

    tmp.setX(ponto.X() - centro.X());
    tmp.setY(0);
    tmp.setZ(ponto.Z() - centro.Z());

    tmp.normaliza();

    phi  = acosf(tmp.Z());
    theta = acosf(tmp.X()/sin(phi));

    return TexturePoint((phi/M_PI), theta/M_PI);
}
コード例 #5
0
TexturePoint Objeto_3D::pontoTextura(const Ponto_3D& ponto) const
{
    return TexturePoint(0,0);
}
コード例 #6
0
ファイル: PlanoY.cpp プロジェクト: AndrewKaninchen/CGUFRJ
TexturePoint PlanoY::pontoTextura(const Ponto_3D& ponto) const
{
    return TexturePoint( (ponto.X() - bmin)/(bmax-bmin) ,
                         (ponto.Z() - cmin)/(cmax-cmin) );
}