0
私は、コードのこの作品に出会ったとき、私はhttp://www.devmaster.net/articles/raytracing_series/part1.phpにレイトレーシングを勉強していました:レイトレースの質問、どのように画面座標をワールド座標にマップするのですか?
void Engine::InitRender()
{
// set first line to draw to
m_CurrLine = 20;
// set pixel buffer address of first pixel
m_PPos = 20 * m_Width;
// screen plane in world space coordinates
m_WX1 = -4, m_WX2 = 4, m_WY1 = m_SY = 3, m_WY2 = -3;
// calculate deltas for interpolation
m_DX = (m_WX2 - m_WX1)/m_Width;
m_DY = (m_WY2 - m_WY1)/m_Height;
m_SY += 20 * m_DY;
// allocate space to store pointers to primitives for previous line
m_LastRow = new Primitive*[m_Width];
memset(m_LastRow, 0, m_Width * 4);
}
私は著者の地図画面が世界座標への座標どのように非常に困惑している...
誰も私に教えてくださいすることができ作者がこれらの行をどのように導いたのか?
または、画面座標をワールド座標にマップする方法を教えてください。
// screen plane in world space coordinates
m_WX1 = -4, m_WX2 = 4, m_WY1 = m_SY = 3, m_WY2 = -3;
ありがとうございます!
それは私だけですか、あるいは、stackoverflow = =で常に明確に見えるコードですか? –