Mail Archives: djgpp/1997/03/24/23:52:46
This is a multi-part message in MIME format.
------=_NextPart_000_01BC389F.52FB7CE0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
(Ray Tracing == Ray Casting) = True. Just a different way of saying the
same thing. I use the term casting because it makes me think of fishing
and the code is fishing for a structure. Sounds stupid, but hey, we all
need our little crutches.
::-)
----------------------------------------------------------------------------
---
C code is like assholes, everyone's stinks but your own.
Looking at C code is like looking at your bedroom, a
complete mess to everone else, but you can tell them
where every little thing is.
C code is like Ex-Lax, great when it works but a pain
in the ass when it doesn't.
Explaining why C is better than Pascal is like explaining
why peanut butter is better than toe jam.
Explaining why Assembler is better than anything is like
explaining why being deaf is better than listening to
'The artist formerly known as Prince'.
----------
> From: M. Edward Kiser <edkiser AT jaxnet DOT com>
> To: djgpp AT delorie DOT com
> Subject: Re: John Carmack <johnc AT idnewt DOT idsoftware DOT com>: Re: Question
about Doom.
> Date: Monday, March 24, 1997 14:36
>
> It has been asked: what is sector flowing? What is a one-dimensional
> completion mask? I think I can make guesses. Maybe they're wrong, but
> I'll make them anyway.
>
> I think Doom drew one vertical line at a time, sweeping left to right
> to create a frame. My evidence is the "reduce detail" option that
> halved the horizontal resolution but not the vertical. It just
> repeated each line twice instead of drawing new ones. The
> one-dimensional completion mask would probably be an array of booleans
> that indicates whether each pixel in the current vertical line is
> complete. For each scan line, Doom would draw front-to-back, walking
> the BSP tree, visiting entities in each node, then walls and floors.
> When the whole array is "true," the line is done.
>
> If my guess about vertical lines is correct, Doom would work well in
> Mode-X.
>
> My guess on sector flowing is harder to explain. The method I was
> thinking of is this: divide space into convex regions. Each region has
> faces with normals pointing IN. You can draw the inside of any region
> by drawing any face whose normal points toward you (not away.) But
> that's the solid faces. The transparent ones have regions on the other
> side, connected sort of like a linked list. So you recurse: draw the
> region you're in, then if there's any part of the screen that was
> transparent and still hasn't been drawn, draw the region on the other
> side of it, as seen from the same point. No BSP needed, but every
> region has to be convex, or split into convex pieces.
>
> Oh, and PVS stands for _Potentially_ Visible Set, not Partial.
>
> Those are my guesses. Now the dumb question. What is ray casting? Is
> it a form of ray tracing?
> --------
> Ed Kiser (edkiser AT southeast DOT net)
> "The man who does not read good books has no advantage over
> the man who can't read them." -- Mark Twain
------=_NextPart_000_01BC389F.52FB7CE0
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
<html><head></head><BODY bgcolor=3D"#FFFFFF"><p><font size=3D3 =
color=3D"#000000" face=3D"Arial Black">(Ray Tracing =3D=3D Ray Casting) =
=3D True. Just a different way of saying the same thing. I =
use the term casting because it makes me think of fishing and the code =
is fishing for a structure. Sounds stupid, but hey, we all need =
our little =
crutches.<br><br>::-)<br><br>--------------------------------------------=
-----------------------------------<br>C code is like assholes, =
everyone's stinks but your own.<br>Looking at C code is like looking at =
your bedroom, a <br> complete mess to everone else, but you can =
tell them <br> where every little thing is.<br>C code is like =
Ex-Lax, great when it works but a pain <br> in the ass when it =
doesn't.<br>Explaining why C is better than Pascal is like explaining =
<br> why peanut butter is better than toe jam.<br>Explaining why =
Assembler is better than anything is like <br> explaining why =
being deaf is better than listening to <br> 'The artist formerly =
known as Prince'.<br><br>----------<br>> From: M. Edward Kiser =
<<font color=3D"#0000FF"><u>edkiser AT jaxnet DOT com</u><font =
color=3D"#000000">><br>> To: <font =
color=3D"#0000FF"><u>djgpp AT delorie DOT com</u><font =
color=3D"#000000"><br>> Subject: Re: John Carmack <<font =
color=3D"#0000FF"><u>johnc AT idnewt DOT idsoftware DOT com</u><font =
color=3D"#000000">>: Re: Question about Doom.<br>> Date: Monday, =
March 24, 1997 14:36<br>> <br>> It has been asked: what is sector =
flowing? What is a one-dimensional<br>> completion mask? I think I =
can make guesses. Maybe they're wrong, but<br>> I'll make them =
anyway.<br>> <br>> I think Doom drew one vertical line at a time, =
sweeping left to right<br>> to create a frame. My evidence is the =
"reduce detail" option that<br>> halved the horizontal =
resolution but not the vertical. It just<br>> repeated each line =
twice instead of drawing new ones. The<br>> one-dimensional =
completion mask would probably be an array of booleans<br>> that =
indicates whether each pixel in the current vertical line is<br>> =
complete. For each scan line, Doom would draw front-to-back, =
walking<br>> the BSP tree, visiting entities in each node, then walls =
and floors.<br>> When the whole array is "true," the line =
is done.<br>> <br>> If my guess about vertical lines is correct, =
Doom would work well in<br>> Mode-X.<br>> <br>> My guess on =
sector flowing is harder to explain. The method I was<br>> thinking =
of is this: divide space into convex regions. Each region has<br>> =
faces with normals pointing IN. You can draw the inside of any =
region<br>> by drawing any face whose normal points toward you (not =
away.) But<br>> that's the solid faces. The transparent ones have =
regions on the other<br>> side, connected sort of like a linked list. =
So you recurse: draw the<br>> region you're in, then if there's any =
part of the screen that was<br>> transparent and still hasn't been =
drawn, draw the region on the other<br>> side of it, as seen from the =
same point. No BSP needed, but every<br>> region has to be convex, or =
split into convex pieces.<br>> <br>> Oh, and PVS stands for =
_Potentially_ Visible Set, not Partial.<br>> <br>> Those are my =
guesses. Now the dumb question. What is ray casting? Is<br>> it a =
form of ray tracing?<br>> --------<br>> Ed Kiser (<font =
color=3D"#0000FF"><u>edkiser AT southeast DOT net</u><font =
color=3D"#000000">)<br>> "The man who does not read good books =
has no advantage over<br>> the man who can't read them." -- Mark =
Twain</p>
</font></font></font></font></font></font></font></font></font></body></h=
tml>
------=_NextPart_000_01BC389F.52FB7CE0--
- Raw text -