Change HTML4 entities to HTML5
< to < > to > & to &
This commit is contained in:
parent
56a4baa60e
commit
b8e7ce7165
105 changed files with 1117 additions and 1117 deletions
82
52-02.html
82
52-02.html
|
|
@ -42,8 +42,8 @@
|
|||
/* 3-D animation program to rotate 12 cubes. Uses fixed point. All C code
|
||||
tested with Borland C++ in C compilation mode and the small model. */
|
||||
|
||||
#include <conio.h>
|
||||
#include <dos.h>
|
||||
#include <conio.h>
|
||||
#include <dos.h>
|
||||
#include “polygon.h”
|
||||
|
||||
/* base offset of page to which to draw */
|
||||
|
|
@ -73,11 +73,11 @@ void main() {
|
|||
and flipping the page to show it */
|
||||
do {
|
||||
/* For each object, regenerate viewing info, if necessary */
|
||||
for (i=0; i<NumObjects; i++) {
|
||||
if ((ObjectPtr = ObjectList[i])->RecalcXform ||
|
||||
for (i=0; i<NumObjects; i++) {
|
||||
if ((ObjectPtr = ObjectList[i])->RecalcXform ||
|
||||
RecalcAllXforms) {
|
||||
ObjectPtr->RecalcFunc(ObjectPtr);
|
||||
ObjectPtr->RecalcXform = 0;
|
||||
ObjectPtr->RecalcFunc(ObjectPtr);
|
||||
ObjectPtr->RecalcXform = 0;
|
||||
}
|
||||
}
|
||||
RecalcAllXforms = 0;
|
||||
|
|
@ -85,32 +85,32 @@ void main() {
|
|||
PageStartOffsets[NonDisplayedPage = DisplayedPage ^ 1];
|
||||
/* For each object, clear the portion of the non-displayed page
|
||||
that was drawn to last time, then reset the erase extent */
|
||||
for (i=0; i<NumObjects; i++) {
|
||||
for (i=0; i<NumObjects; i++) {
|
||||
ObjectPtr = ObjectList[i];
|
||||
FillRectangleX(ObjectPtr->EraseRect[NonDisplayedPage].Left,
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Top,
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Right,
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Bottom,
|
||||
FillRectangleX(ObjectPtr->EraseRect[NonDisplayedPage].Left,
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Top,
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Right,
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Bottom,
|
||||
CurrentPageBase, 0);
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Left =
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Top = 0x7FFF;
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Right =
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Bottom = 0;
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Left =
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Top = 0x7FFF;
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Right =
|
||||
ObjectPtr->EraseRect[NonDisplayedPage].Bottom = 0;
|
||||
}
|
||||
/* Draw all objects */
|
||||
for (i=0; i<NumObjects; i++)
|
||||
ObjectList[i]->DrawFunc(ObjectList[i]);
|
||||
for (i=0; i<NumObjects; i++)
|
||||
ObjectList[i]->DrawFunc(ObjectList[i]);
|
||||
/* Flip to display the page into which we just drew */
|
||||
ShowPage(PageStartOffsets[DisplayedPage = NonDisplayedPage]);
|
||||
/* Move and reorient each object */
|
||||
for (i=0; i<NumObjects; i++)
|
||||
ObjectList[i]->MoveFunc(ObjectList[i]);
|
||||
for (i=0; i<NumObjects; i++)
|
||||
ObjectList[i]->MoveFunc(ObjectList[i]);
|
||||
if (kbhit())
|
||||
if (getch() == 0x1B) Done = 1; /* Esc to exit */
|
||||
} while (!Done);
|
||||
/* Return to text mode and exit */
|
||||
regset.x.ax = 0x0003; /* AL = 3 selects 80x25 text mode */
|
||||
int86(0x10, &regset, &regset);
|
||||
int86(0x10, &regset, &regset);
|
||||
exit(1);
|
||||
}
|
||||
</PRE>
|
||||
|
|
@ -120,45 +120,45 @@ void main() {
|
|||
<PRE>
|
||||
/* Transforms all vertices in the specified polygon-based object into view
|
||||
space, then perspective projects them to screen space and maps them to screen
|
||||
coordinates, storing results in the object. Recalculates object->view
|
||||
coordinates, storing results in the object. Recalculates object->view
|
||||
transformation because only if transform changes would we bother
|
||||
to retransform the vertices. */
|
||||
|
||||
#include <math.h>
|
||||
#include <math.h>
|
||||
#include “polygon.h”
|
||||
|
||||
void XformAndProjectPObject(PObject * ObjectToXform)
|
||||
{
|
||||
int i, NumPoints = ObjectToXform->NumVerts;
|
||||
Point3 * Points = ObjectToXform->VertexList;
|
||||
Point3 * XformedPoints = ObjectToXform->XformedVertexList;
|
||||
Point3 * ProjectedPoints = ObjectToXform->ProjectedVertexList;
|
||||
Point * ScreenPoints = ObjectToXform->ScreenVertexList;
|
||||
int i, NumPoints = ObjectToXform->NumVerts;
|
||||
Point3 * Points = ObjectToXform->VertexList;
|
||||
Point3 * XformedPoints = ObjectToXform->XformedVertexList;
|
||||
Point3 * ProjectedPoints = ObjectToXform->ProjectedVertexList;
|
||||
Point * ScreenPoints = ObjectToXform->ScreenVertexList;
|
||||
|
||||
/* Recalculate the object->view transform */
|
||||
ConcatXforms(WorldViewXform, ObjectToXform->XformToWorld,
|
||||
ObjectToXform->XformToView);
|
||||
/* Recalculate the object->view transform */
|
||||
ConcatXforms(WorldViewXform, ObjectToXform->XformToWorld,
|
||||
ObjectToXform->XformToView);
|
||||
/* Apply that new transformation and project the points */
|
||||
for (i=0; i<NumPoints; i++, Points++, XformedPoints++,
|
||||
for (i=0; i<NumPoints; i++, Points++, XformedPoints++,
|
||||
ProjectedPoints++, ScreenPoints++) {
|
||||
/* Transform to view space */
|
||||
XformVec(ObjectToXform->XformToView, (Fixedpoint *) Points,
|
||||
XformVec(ObjectToXform->XformToView, (Fixedpoint *) Points,
|
||||
(Fixedpoint *) XformedPoints);
|
||||
/* Perspective-project to screen space */
|
||||
ProjectedPoints->X =
|
||||
FixedMul(FixedDiv(XformedPoints->X, XformedPoints->Z),
|
||||
ProjectedPoints->X =
|
||||
FixedMul(FixedDiv(XformedPoints->X, XformedPoints->Z),
|
||||
DOUBLE_TO_FIXED(PROJECTION_RATIO * (SCREEN_WIDTH/2)));
|
||||
ProjectedPoints->Y =
|
||||
FixedMul(FixedDiv(XformedPoints->Y, XformedPoints->Z),
|
||||
ProjectedPoints->Y =
|
||||
FixedMul(FixedDiv(XformedPoints->Y, XformedPoints->Z),
|
||||
DOUBLE_TO_FIXED(PROJECTION_RATIO * (SCREEN_WIDTH/2)));
|
||||
ProjectedPoints->Z = XformedPoints->Z;
|
||||
ProjectedPoints->Z = XformedPoints->Z;
|
||||
/* Convert to screen coordinates. The Y coord is negated to flip from
|
||||
increasing Y being up to increasing Y being down, as expected by polygon
|
||||
filler. Add in half the screen width and height to center on screen. */
|
||||
ScreenPoints->X = ((int) ((ProjectedPoints->X +
|
||||
DOUBLE_TO_FIXED(0.5)) >> 16)) + SCREEN_WIDTH/2;
|
||||
ScreenPoints->Y = (-((int) ((ProjectedPoints->Y +
|
||||
DOUBLE_TO_FIXED(0.5)) >> 16))) + SCREEN_HEIGHT/2;
|
||||
ScreenPoints->X = ((int) ((ProjectedPoints->X +
|
||||
DOUBLE_TO_FIXED(0.5)) >> 16)) + SCREEN_WIDTH/2;
|
||||
ScreenPoints->Y = (-((int) ((ProjectedPoints->Y +
|
||||
DOUBLE_TO_FIXED(0.5)) >> 16))) + SCREEN_HEIGHT/2;
|
||||
}
|
||||
}<B></B>
|
||||
</PRE>
|
||||
|
|
|
|||
Loading…
Reference in a new issue