레이 트레이싱에 문제가 있습니다. 저는 구를 만들 수 있지만 ı는 그림자를 줄 수 없습니다. 명령 줄 (cmd)에서이 코드를 컴파일해야합니다. 우리는 어떻게이 3 개의 구체에 그림자를 넣을 수 있습니다.이 코드를 컴파일하면 3 개의 구체와 빛도 볼 수 있습니다. 하지만 아무 그림자가 pls 도움이됩니다. 감사합니다.
나는 원근 카메라로 작업 중이다. 생성자는 다음과 같아야합니다. PerspectiveCamera::PerspectiveCamera(Vec3f ¢er, Vec3f &direction, Vec3f &up, float angle)
이것은 거의 클리핑 평면이 아니므로 멀리있는 클리핑 평면이 없으므로 대부분의 다른 구성과 다릅니다. 나는 중심, 방향, 그
나는 현재 "Raytracer"라는 프로젝트를하고있다. 문제가 발생했습니다. 구체가 가운데에 있지 않으면 타원형입니다. int i;
int j;
t_ray vect;
i = -1;
vect.x = 100. - cam.x;
while (++i < screenx)
{
j = -1;
vect.y = ((screenx/
추적기 및 예기치 않은 문제를 발견했습니다. 나는 광선 추적의 두 가지 주요 루프를 작성하는 경우, 이미지 픽셀에 책임이있는 사람, 그런 식으로 : for (int y=0; y<image.getWidth(); y++) {
for (int x=0; x<image.getHeight(); x++) {
나는이 왜곡 된 이미지를 얻을. (실제로, 페이스
그래서이 RT 코드는 원시 코드를 통해 흐림 효과가있는 3D 이미지를 만듭니다. 실제로 어떤 모델링 도구없이이 작업을 수행 할 수 있습니까? 저는 RT 작업과이를 구현하는 다른 방법을 이해하기 위해 현재 노력하고 있습니다. 그래서 매우 인상적인 3D 이미지를 생성하는 코드의 작은 양을 보니 멋있습니다. #include <stdlib.h> // card >
광선 추적 프로젝트를 개발 중입니다. 그래서 저는 많은 벡터 연산을합니다. 제품 조작을 위해, 나는 연산자 오버로딩을 사용하고 문제에 직면했다. 아래의 세부 정보를 볼 수 있습니다 : 이 기능은 내가 Func 2를 추가 할 경우 RayMath.h //GENERAL INLINES
inline Vector operator*(float c, const Vect
public double intersect(Ray r)
{
double t;
Vector L = r.origin.sub(pos);
double a = r.direction.dot(r.direction);
double b = 2*(r.direction.dot(L));
double c = (L.dot(L)) -
저는 현재 레이 트레이서를 개발하고 있으며, 카메라에 적용하고자하는 변환의 일부를 계산하려고합니다. 코드에서 내가 가지고있는 것은 시점과 화면이 일정한 거리에있는 관점입니다. 카메라를 상하 좌우로 움직이는 방법을 알아 냈지만 한 두 가지 변형을 결합하는 방법을 모르겠습니다. 누구에게 어떻게 할 수 있습니까?
내가 (쿡 - 토 런스 모델과 유사) Microfacet BRDF 음영 모델을 구현하기 위해 노력하고 내가 본 논문에서 정의 된 베크만 분포 몇 가지 문제가 오전 베크만 고정하는 방법 : https://www.cs.cornell.edu/~srm/publications/EGSR07-btdf.pdf 을 여기서 M은 마이크로 평면 노멀, N은 매크로 평면 노멀이
저는 광선 추적기, 반사 부분에 대해 작업 중입니다. 그림자가있는 구체를 만드는 것을 포함하여 모든 것이 올바르게 작동합니다. 이제 반사 부분을 구현하고 있습니다. 그러나 나는 그것을 얻을 수 없었다. 나는 반사를 얻으려고 노력하지만, 그것을 얻을 수 없었다 traceRay(Ray ray, int counter){
// look through the in