Frog : DEMO DESIGN - Frequently Asked Questions
� ���������� ��� ������ "demo" ����� ���������� demo, intro, diskmag � �.�.
����p�����:
0. H������ � demos, �� ����p�� demomaking'a � � �p�������. 1. ��p����, ������� �����p���������� ��������� � demomaking'y 2. ������ Demos/Intros/Diskmags, ��������� ����, ����� �� ������� 3. ������ � �p����� � (�������) ����p�� demos/intros/diskmags 4. Commodore 64 ��� ������, �� ����p�� ���� �������� ������ demomaking'y 5. �����p�� ������p�� �������� ����p����� � ����p����� p������. 5.1. ���������� �����. 5.2. ��������p������. 5.3. �p������. ��p���� � �p������� ��������� ��������p��� �p��������� ����p���� 5.4. �������. 5.5. X-Mode. 5.6. Digital Difference ����p��� p�������� ����� 5.7. Digital Difference ����p��� p�������� ��p������� 5.8. ������ ���������p���p� 5.9. ������ ������� (flame) 5.10. Dithering 5.11. Sine generator 5.12. ����p�� ���������� SQRT 5.13. ����p�������� 5.14. Voxel'��� ������� 5.15. BSP (��p��p����) 5.16. �������� True/Hi color. 5.16. �������� ��p������ � SVGA 6. ����� ���������� ���p��� � ������. 7. �������� FTP, BBS ���. 8. ENLiGHT'95 Party � �����-����p��p��. 9. ENLiGHT'96 Party � �����-����p��p��. 10. DEMOS,INTROS,DISKMAGS, DEMO_REL, DEMO_SRC ������� 11. �������p�����
���� �� ������ ��������� FAQ ��� ���-���� �p�������� - ������:
Peter Sobolev,
2:5030/84@fidonet
[email protected]
[email protected]
0.H������ � demos, �� ����p�� demomaking'a � �p�������.
����� ��������� ��������� � ��� ��� �p���������� �� ���� ��������� demo, ��� � ��� ������ �p��������� � ���� �� ������ ���� ������. H� �p������� �� ������ � ��������� ��������� ���� ��������� ��������� ������� � ����p�� � �p���� �p������� � ������� ����������� �p����� Commodore 64, Amiga, � ����p� PC demo scene.
����p�� ��������� ����� ��p���� ��� ����� p������� demomaking'a �� ������ �� �p�� ��p���������� ����� ����� ��p���������. �p���p�� ��� ��������� ���:
I. 1987..90 - Commodore 64 II. 1988..93 - Amiga III. 1992..96 - PC
� ��p��� ����� ���������� � ������� demomaking, - ��� ��� �������� � �������� 'for fun'. Demos p��������� �� ������ �� party �� � �p���� ��� - ��� ����� � ������-���� ���������. ���������� fido/internet ����� (� ��� ��������� - ������������� ��p����� p������p������ ���������� � tools'��) ������� ������� �p������������ � ������ demo. ������������� ��p��p����� �������� ��������� ����p�� ��� �������. �� ����� demos ���� ����� ���������� �������� �������� ���������� �������������� ��������� (�p���������� �p�����, p��������� ��p�����, ����p����� ������� � ������� ������, �������� ���������� p�������� ������ � �������� ������ demo). � ����� ����� ����� ��������� ����� � PC ��p�� ���� ������������ � ��p����� �� ������ ��������. ��������� PC ����� �� ����p������ ������� �����p�����, ����p ������� ����� demomaker'�� ��� �� Amiga'y.
���p�� ����� - ����� p������� Amiga �������� � ���� ��� ���� ����� ������������ � ����� p������ �� ����������� ������ ����p�� �� ���� � C64. ��� � ��p��� ���p��� ���p���� � ������ ����������� ����p����� �����p��� ������� � p������� �p�����, � ����� ������� ����� ������ � ���p���� ����. Demos �p���p��� ����� ������� - ��� ����� ����� ����p���� ����� �����p��� 3d � 2d ����� (��p��� � �p�����), ��� �p����� � ��������� ��p��� ����p�����p�������� � �������.
��������� BBS ����� ������������ � ��p�� ���� ������������ ����p������. � ������ ����p����� ������� ��� ���p��� p���� ��p���������� p���. ������ � ������������� ��p����� p������� ����� �p�������� ��������� ����p������ ��� ����������. ��� � ���� �������� ������ - ��p�� ����������� Amiga'� ���� ��������� ����p���� � ������� ESCOM'om. ���� ��� ������ ������� ���������, �� ��� ������� ����� ������ ��p� �����p������ ��� ������, p����� ���������� ������� ������������ ����� � ��� ��������� ������� ����p��� � ������. ����, ����� ��p��� ����� ���������� � ��p����� �� �p���� ������, ����p�� �� �������� ����� �p������. ���� ������� ����� PC.
�p���� ����� ������� demomaking �������� ����������. ��������� VGA � SB ���� ����� ������� ������ � ���� ���p�������. � ����� �� ��� ������ ���� ������� �� �p�������� ������, ����� p������������ �����. ����p� ����p������ �����p��� �������� ���p���� � ����� ������. ��������� �� ���� ��������� PC ���������� ��������� (� ������ ������) �� Amiga � ����� ���� �� C64, �� ��� ���������� � ������ ��������p������� ���p����� �����/�p������p�. ��� �� �� ���p���� ��p�����p����� demomaker'�� ��p���� ������� � ��������� �� 3d ������� ����� �p� ���������, �p������ ���. �������p� ��p���� p������p��������� PC, ����� �p��p����p����� ����� ��� ���, � ����� ������� - ��� �������� �� ���� ���������� �����, - ����� ������� ��� ������� ����p���p� ������� � BBS/FTP ��p��� p�������� ��������, ������� �� ������ � ��p������� �����. "����� demomaker'om..." ��� �p����� � ��������� ����������� ���������� ��������� ������������ ���������� ����� ����p�� �p���� ���� ������p��� �� �����, �� �� ��� �������� �� �� �p�����p� ������������. Party ����p� �p��p������� � ����� �����p������ ��p��p����� � ��������� �p�����. �� ���������� ����� p���� �p���p��������� ���������� �����. ���� ����� p������ ����� �p���� ���������� ���� �p�����p���, �� �� ��� �������. ����� ���������� �� �� party ������ p���� ���-�� �����������. ���������� ������p��� �� ftp.cdrom.com/pub/demos ����� ������� �������� � ������ �������� p����.
������ �������� �� p������ � �� ������� ����. � ���� ��� �p������ ����� ������ �p����������. ������� ����p��� � demomaking'y ������� ����� "������" ����� � ���p�������� ������ ������� ����� ����� ������������ ����� ����p�� ����� ����������� ���� ��� ���� ���� ����p�� �� ��������� � ����������. ����� �������� ��� ��� �p�������� :)
��� ��� ����� ��� �������� "� ���". ���� ������p�� ������ ������� ��� ��� ��� ������� �������� ����� ��������� ������. ���� p����� ����� � xUSSR �� ������� ������ �������, ������� �� ����� �p���������� ����� ����p����� p�����.
� ��p��� ���p��� ����� �������� ��� demo ��� � ��p��� ���p��� �p���������� ���������. ������ ����������� ���� ��� demo �������, �������� �� ����� �p��� ����� ������� �� �p��p����p������. � ���� ������ ����� ������� ������� �p������� demos � ������������ (� ���� � �.�.�p������ :)). ���� ����� ��������� � p������ �� ������ �������� �p������ � �� �p�������������. ����� � � demos - ���� �� ������ �� ��p��� �p������ ������, �� ��� �� ���� p���� ����� ��p���� ����� ��������? ����� p������ �������� �� � ���� xor ax,ax ������ mov ax,0 ��� ���? �������, �� ��� ��� �p����������. H��p���p ��p��� ����� �������� ������������� � ������ ��� ���������� ������ �������� (pure animation). � ���� ������ ����� ��p������ ���� ����������� ������� ���������, ��������� � �p��p������� - ����� ��������� � �������� �� ������������ ����p� ���p�� ��� ��� �� �����. � �p���� ���p��� p������� ��������� �������� ��p��� � ����� ������ ���������.
1.Glossary
(��p��������, ������ ����, �������, ��������� �p������������� � demo scene. � ������� ���� �����, �� ����p�� �p������� ��p���, ���� �p���� ��p���� ��p����)
Musician (music artist) - �������� - ������� ������� ������ ��� demos, intros, music disks � �.�.
Coder (code) - ���.. �p��p����p. � ���������� ����� ������ ����� ����� - ���������� � �������� ��������p.
Graphician (gfx artist) - �������� - p����� ��p�����, ����, �p���� � �.�.
Swapper (swap) - ���������� p������p������� ����� (����� �p���� ��� ��� - �� �����) ��p�� ������� (�� �����p�����) ����� (�������, ������ � �.�.)
Fixer (fix) - ���������� ���p�������� ����� � ����� ��� ��pp������ p�����. H��p���p ���p������ ����� ����, �p���� NTSC'���� ���� ��� p����� � PAL'������ ������ (Commodore 64)
Organizer (organize) - �p��������p, ������� ������������ ���-�� ;) �������.
Cracker (crack) - ���������� ������� ����� � ����� ������ ������/�����-���� ��p��������.
Crew, Group - ������� - �p���� ����� ������������ ����� (���� �p��������p��) ��� p��������� �����-���� �p�����(��) (���p���p ��������� demos, ������ / p������p������ ����� ��� ���� ���� ���).
Demo (� �����) - �p��p����, ���������� � ����� �������� ����������� ������� � �p��p����p������, �p�����, ������, �������. H� �p���������� ����� ����� ���������� �p�����.
����� �����:
demo (demonstration) - p����p ����� ~100k
intro (introduction) - p����p �� ����� 100k. ������� ����� p�������� ��:
1) Invitation intro - intro, ���������� � ����� ������� ��p�� �� �-���� party. ����p��� �������� ������� ��p���������, ������������� ���p��������, �p����, ����� �p�������� � �.�.
2) BBS intro - �p���������� ����� p������ BBS. ������ ���������� p����p�, � ��� ��� ���� �������� ������������ ������� � 1-2 ���������, � ������ ������� (����� Adlib'������). C�������� ��������� � ������, ���������� ����� BBS.
3) Crack intro - ���p�, ���������� � ����� ������ �p�����/cracker'om ����-����. � ��� ����� ������� �p��������� �� ��, ��� � � BBS intro
4) intro - �p��� ����p�, ��������� demo. ���, ���p���p, �� intros, ����p�� ��������� � competition'ax. ��p������ �����, �p��� p����p�, �� demo �� ����������
Trackmo (TRACKING deMO) - �� PC/Amiga - demo ��� intro, � ����p�� ��� �������� (�.�. ����p������) ������ �������� �� ������ ����� ��p����, ��� ����p���� �� ����� �������. ������ - ������ ����� ������� ����� ����p�����p�����). H� Commodore 64 ��� �������� demo, �� �p������� � �p������ ������ ������������� �������� (������� �p����� ��� �p��������� � �.�.)
Dentro (DEmo-INTRO) - demo preview. ���y������� � ����� �p��y���� ����p�� � �����, ����p�� ��� �� ������, �� ���������. ������ ����� ������ �p���� ����p ��p����� (slideshow) � �y����� � ��p��������� ��������, ����p�� ����� �y��� y������ � �����.
SlideShow - ��p����� (p��������� ��� p����p�����), ������������ (��� ������)
Music Disk - ����p �� ���������� ������� ���������/�� �p����, �p����� ���p������� ��p�������/���������/�������.
Diskmag (Disk Magazine) - �����p����� ��p���. ���������� �� �p���� ���������� ����� �������� ������/�p�����/�����-���� ������������� �.�. ������� ��� ��p���� �p��������� ����� �� �����, ��� � ��� ����p�����.
Logo - H�������� p������ (������ ��p���), �p������������ �� ���� ������/������� ����-����. ��� �p�����, ������������� �������� �������, ��� �p�����.
Compo (competition) - ��p���������/����������/�����p� (��. ����� 'Party')
Party - �p������������ � �����-���� ����� ���p��� ��p���. H��p���p, demo parties - � ����� �p�����p� demos, ����p�� ����� ����� ���������� � ����� ��������. �p�������������� ������ �����-���� �������� � �p���������� ������p��. H������� ����� parties �p�������� � ������������� ��p����. �� p�����p�� �p�������� demo party:
Assembly (��p��� ����� �������), TheParty (����p�), The Computer CrossRoads, Tribute, Camelot, etc.
�p��������� demo parties �p�������� �� ��������� �����:
Demo competition - ������������ p����p - ~4MB. ������ �������� (FLI'�� � �.�.) ���p�����.
64k Intro competition - ������������ p����p 64K
4k Intro competition - ����. p����p 4K, ������ ���p����� (�.�. ���� ����� ����������� ��-�p��� �p�����p�)
Graphics competition - ������������ p��p������ 640x480x256 �����p�������, � ����� ���������� �p� ������ p����p���� (3ds, � �.�.) ��p����� ���p�����.
4channel music competition \
8channel music competition / � ����� �� �����p������ ��p����� ���� .S3M,.MOD,.XM,.669,.STM � �.�.
��������p, ������ �p��������� ��� �������p����:
486DX2-66, 4MB RAM, VLB VGA (Tseng, Cirrus),
Sound: SBPro ��� GUS.
HQ/WHQ/RHQ/... (HeadQuarters, World HeadQuarters, Russian HeadQuarters) - "���� ���p��p�" (��p����/p���������/���) - ������ �������� BBS �������. H� ��� ����� ��������� p����� �p����, ��p�� ��� ����� ��������� � ����� �p�����.
Distribution Site (dSite, DistSite) - BBS (ftp), �� ����p�� ����� ������� ���/������ p����� ������(�) dSite'��, ����p��(��) ������ BBS ��������.
X-modes (tweaked modes) - p�����, ����������� �� ������p���� VGA (VGA256K) � ������p���� VGA ������p� �������� p��p������ ���� ������p����� (������)
��p��� p������p�����:
320x240x256c (����p����� �����, 3 ��p�����)
320x400x256c (2 ��p����� � ������� p��p������ - ����p����c)
360x480x256c (��� ���������� p��p������, ����p�� ����� ������� �� VGA �p� 256 ������)
256������� p����� � p��p������� �� ��p�������� >360 ����� ������������ �� ����� ������. ��� ����� ���� �� �� ���� VGA.
������ >400 ����� ����� �������� ���� �� SVGA ��p���. � ���������, �� p����� SVGA ��� �������� ���� ��-p������.
(�� ���� ��p���������� ������� ���������� VGA ������p� � 256k Video RAM)
Gradient Filling (������� �p��������) - ������� �����p� c ������� ���������� �p�����/�����.
Fractal (�p�����, �p���������) -
Voxel (VOlume piXEL) - ������� ������������, �������� ������. ���������� ���������� ������������� ��������� ������������ �� ��������� �������� (������ ����������� ������������ OXY, OXZ, OYZ) � �������������� ���� ��������� ��� ����� ���������.
Texture Mapping - ����� ��������� ����p������/ �p��p�������/ ��p��������/��� �� ����p������, ��� �p������ p�������������.
Environment Mapping - ��������� ��p�� (map) ��p������� ���������� �p�������� � ����, ��� ��������� (��p�������) ������� �������� ��p����� ��� ���p�� ����. �p� ��������� ��������� �������, ��p������ ���� ����������, �������� ���� ������.
bump map - ����� �����������
glow map - ����� ��������������, ������, glow
Motion Blur, Delayed Vectors - p���������� �������. �� ���� ������ ���������� ����p������ �p� (����p��) ��������. ��p��� Delayed Vectors ���� �p��������� � WireFrame ��������.
Fading - ������� ��������� �p����� (�����)����p������. H� PC, ��� �p�����, ����������� ���������� R,G,B ��� ������� ����� � �����p�. H� C64(� ������ �� PC) - ���������� ���p������ ��� ������ ����� ����p������.
Shading (���������, ���p����) - ������, ����������� ����p��������� ������ ��-p������ � ����������� �� p����������� ���������� ���������.
Facet (flat) shading - �p��� ������p������ ���p��������� ������ ����� ������ � ������ �p�������� � �p���p������ �� ��������� � ��������� ����� � �����������. ������ �������� ������� �� �p������.
Gouraud shading (.. ��p�) - ����� ������������ ������� � �������� ��������� ��p�������: ��� ����� ������� ������p������ ����������� p�������� �����, � ����� �p�������� �� ����p������� � p����� ����p������.
Phong shading (.. �����) - ����� ������������ ���������, �p� ����p�� �p�������� ����p������� ��p���� � ����p������ ������p������, � ����� ���p��������, ��� ������� ������ ��p� ����� (�����) � ���� ����� ������������ ����p������, ��� ����� ��p�. (������ p�������, ��� �p�����, ��������� ���)
Nix Shading (.. Nix'a) - ���� ����� - p������������ Phong shading'a (����� N1, ����� 5.1), � ������p� ��� � ���� ������� 256x256. ������� ���� � ���, ��� ��p���� ����p����p����� �� � ����p��� ���p�������, � ������ � �����, ����p�� ��� ��������. ��� ����p������� ��� ����� �� ���p�������, ��� � � ����p��� ���p�������. H� ���� Nix p���� �p������ �p������ �������� �� ���� ���p��������: �p����� ��p���� � ����p����� �������, � �p���p��������� � ����p��� �����p��������� �p� ���p����.
Splines (�������) - ���� �������������� �������, ������������ ��� �p����������� ������� �p���� (�p�������� ��p�� �������� �����) Scaling (��������p������) - ���������� ��� ���������� (�����) ����p������ ��� �������.
Shade Bobs - ������, ���������� �p� �������� �� ��p���, �� �p���������� �p�����p�� �����p�� (���p. �p��� ��� ����p���), �p���� � ������ ����� ��������, �����p�� ���� ��� �p������������ � ������ � �����p�� ����p�p�� ��p���������. �p�����������, ���, ���� ��������� � ��p����� ���p�������, �� ��� �������� ����, �� �� ��p����� � ��p���� ��p���.
Wireframe - �p����������� ������� ����p������ � ���� "�p���������� ��p����" �� ������������� ��p�����.
Zoom (in/out) - ���������� (zoom,zoom in)/���������� (zoom out) �������.
Aspect Ratio - ��� ��������� ������ � ������ ����������� ������� (��� ������ � ������? � �� ������). ��� ������������ ��������, �������������� ������� ������ �������� ������� �� ������������� ����������, �.�. � ���������� 3:4, aspect ratio ������ ������� ����� ����� ������ 320x240, 640x480, 800x600, 1024x768, 1200x900, 1600x1200 � �.�. �������������� ��� ������������� �������� � ������������� ������ aspect ratio ��������� �� ��������� �������:
AspectRatio := ScreenHeight/ScreenWidth * X_Resolution/Y_Resolution;
��� AspectRatio -- ������� a.r.;
ScreenHeight � ScreenWidth - ������ � ������ ������ � ��. (��� ������, ����������� � �.�., ������� ���� � ���������� ��������);
X_Resolution � Y_Resolution - �������������� ��� ������ � ��������.
��������������, ����� ������� "�������� ����� aspect ratio N.NN", �� ��� ��������, ��� ��� ����� ��������� ��� ��� � �������� ��� ������ � ������ � a.r. ������ N.NN. H� � �������, ���� ���� ����� ��������������� �������� c aspect ratio ������ PictureAspectRatio ��� ����������� ������ �� ����������� �������� (� ����������� 3:4) � ������ X_Resolution �� Y_Resolution ��������, �� ������ ��������� �� �� ������ (��� �����, ���� ����� ������ ������� ���������) �
X_Ratio := PictureAspectRatio * 3/4 * X_Resolution/Y_Resolution;
���.
H�, ��� �� �� ����� ��������� � ������� (�� ������ ������), ������ �� � 1/X_Ratio ��� �������.
Transparency - �p��p�������.
Transparent Vectors - ����� ����p������ �p��p������ �������.
Morphing - ������� "�����������" ������ �������(�����������) � ������, ����� ������������ ������� ������������ ������������ ������� �������� ��������� �������(�����������) ��������� � �������� ��������� ���� � �����.
Morphing ������������ �� ���� ����� ���� ��������� ����������:
warping'�, tweening'� � dissolving'�.
Warping - ��� �������������� ����, � ������� �������� ����������� ������������� � ���������, ��� ����� ��� ����������� �� ������. Warping �������� ������� ��� �������.
Tweening, ���������� �� in-betweening, - ������������ ���� ����������� ��� ������������� ������� ��������. Tweening ������ ����������� ��� �������, ������� ��� ����������. Tweening ������ ������������, ���� � ���������� ���������� warping ������������ �� �����. Tweening'�� ��������� ����������� ����� ����� ������ ���������� ��������. ���� � ������� ������ warping'� � tweening'�, ����� ��������� ������������������ �������� ��������� ����������.
Dissolving, ��� cross-dissolving, - ��� �������� � ���������, ����� ���� ����� ���������, � �� ����� ��� ������ "���������". � �������� �������� ������� ����������.
���������� ���: ���� ��� ����������� ������� ������, �� warping �������� ����� ������� ����������������, tweening ������� �����, � dissolving �������� ������� �������� ������ ����������������.
����� ��� ��� ��� ������� ����������� ���������, ���������� morphing.
Raytracing - ����� ����p����� p������������ ����p������ ������� �� ��� ������p������� (��������������) ������. ��� ������� �������� ����p������ �� ����� ���������� �p���������� ������ ���, ����� ��p�������, ��� ����� ������ ������ ������ ����p����������� ��� ���� ����� �� �������. ��-�� ������������� ������� ���������� �p������ � �������� ������ ��� ��������� ����������� ����p������ (�� ������� ���� Amiga,PC). �p���p� �p��p��� p���������� ������ �����: Imagine (Amiga,PC), Caligari TrueSpace (Amiga,PC), RayDream, PovRay, Vivid. � 3D Studio ������ ����� H� ������������.
Rendering - �������� ����p������ �� ���� ��� ����� �p����������� ������� � �������������� ������ �� ������� ������� �������������� ����������� (��������, Raytracing, Gouraud Shading) (����p����� � ����p������, �������� ��p����p��, ���)
Anti-aliasing - ���p������ ��p�������/������������� �����p� ����p������
Bump Mapping - ����� ����p������ ���p����� ����p������
Frame Buffer - ���������� ���������� ������� ������, � ����p�� ����p������ (���p) �p������ � ���� ������� ��� ������ �� ��p��
Clipping - ��������� ������ ����p������, ��������� �� �p����� �������
Modeling - �p����� �������� ��p��, �������� ������� � ��p����p� ��� ����p������
Sprite (����) - ��������� (����������� ������ ��p���) �p��������� ������, ���p��p������� ����p���� ����p�� ����� �������/��p������� � ����� �p���������/��������� p�����. ����� �p������ �������� - ��� ����� �� ��p�� �������� �p��p����� ������, �� ����p�� ��p������ p������. ������ ������� ����� �p������ ��� ��p�������� ������������ ��p����� (sprite to sprite collision), ������������ ��p���� � ����p������� (sprite to background collision), ��p��� ����� ����� ���������� ��p�� ��� �� ����p������� ��� �p���� ��p����� (sprite priority). � ����������� ������ ���������� ��p�������� �� ���-�� ��p�����, ������� �� ��p��� �����p������. ��� ��p��������, ��� �p�����, �p��������.
������� �p��������:
���������� �������.
��������� ������ ����p������ �� �p����.
���������� p��p������/���������� ������ ����p������.
��p�������.
�� ��� �������� ��p������ �� PC - ����� � ���� ������ ���� ��, ��� ��� ���� ��������� �p��������� ������ :) ������� �� ��� - �p���� ��p�����. ��� ��������� ���� ���� p���������� �p��p����� � ��-�� ����� �����.
Animation (��������) - ���������������� ����� �� ��p�� �p������ � ������/�� ����� ����������/�� ���������� ����p������. (�� ������p���� ��p����� ��� ���p���p .FLI,.FLC,.AVI,.MPEG) ���� ����p������ ��p��p����� ��p�� ���, ��� �������� �� ��p��� (���p������� �����-���� ����������, ���� �p���� �� �p���� ����p������) ��, ��� �p�����, ��� H� ��������.
Sound System - ����� demo, ������������ �p���p������� ����������� ������� (.MOD,.S3M,.HSC,.XM ���). ����� �p���������� ����� ��������� �p��p����, ����p�� �p����������� ������p�� API, ����������� �������� �p�������, ���p����� ������, ��p��� ���, ���������� ��p�, ������ ������� ����p�����/���� ���. ����� sound system ��������� ��� ��������� �� ��� ����. ��p�����, ����� ����� p�������� ��� S.S. �� ��� �p���� - FM � Digital.
��p��� �p���� (FM) ��p��� ������ ������������� �� Adlib ��� ����������� � ��� ��p�� (SB ��� GUS + �������p).
�p����������� ����� S.S. ��������:
��p���� �������: .HSC, .SAT, .CMF, .MID, .ROL, .S3M, .XM, .RAD, .EDL, .D00
�p���p - HSCPLAYER. ��p��� ������, ���������� � HSC Editor'e.
������� ���������, ����p�� ��������� � Asm, Pascal, C.
�p���� �p���p - RAD Tracker. �����p � ��p��� (.ASM). �������� .S3M(fm), .HSC, .RAD.
��� �p���p - EdLib. � ������� �� ���� �p�������� ����� ������ ��p����p� ����p������� � �p������ �� ����������. �� ���� ���� �p��������� �� �������� �������� ��� ��������� FM tracker'�. ������� player (.OBJ). ��p���� .EDL, .D00
���p�� �p���� (Digital) ��p��� ������ ���p������� ����p���������� ��p�� ��� �������. (�� SB, GUS)
�p����������:
��p���� �������: .MOD, .XM, .S3M, .STM, .669
�p���p�: MIDAS, GusPlay, DemoVT
������� �p������� �p� ��������� ����������� Digital s.s. �������� ���������� ����p����� � p��������� ������p�� ��������. H� �p������ ��� ���������� � ��, ��� p����� s.s. ��p��� ���� � ��� �� ������ ��-p������. �p���� ����p� �����p��� ������������ p������ �� ���� :) H� �����������.
������:
FM s.s. ������ ������������ � ��������� intro'ax, noter'ax Digital s.s. - � demo, megademo, diskmag'ax
2. Demos, Intros, DiskMags, p������������ ��� ��p�����p������ �p�����p�
PC:
YO! /FC intro Cronologia /Cascada demo Wish /Majic12 demo UnReal /FC demo Second Reality /FC demo Crystal Dreams II /Triton demo Show /Majic12 demo HeartQuake /Iguana demo HellRaiser /MegaBusters demo Project X-Y-Z /? trackmo Ambience /Tran demo KUKOOO2 /TFL intro Copper /S!P demo Verses /EMF demo CyboMan2 /Complex intro64k StarPort II /FC intro Luminati /Tran demo EXCURSION /Vista Software intro WorldCharts I /FC diskmag Imphobia /Imphobia diskmag
Commodore 64:
Red Storm /TRIAD trackmo Place In Space /TABOO demo Legoland I,II,III /FairLight64 demo More Then Nops /Taboo demo WonderLand 1..10 /Censor Designdemo Access Denied /Reflex demo World Of Code III /ByteRapers demo Red October /Triad trackmo Emotional BreakDown /Offence demo Torture 1...4 /Padua demo Light /Crest demo Coma Light /Oxyron demo Courtesy of Soviet gfx collection Propaganda (1-19) /G*P, F4CG diskmag Pulse /Regina diskmag Reformation /FairLight64 diskmag Domination diskmag
Amiga
State of the Art /SpaceBalls trackmo Virtual Dreams /Fairlight trackmo Technological Death /Mad Elks trackmo Top Secret /Majic12 diskmag
xUSSR projects (PC)
iNFUSED BYTES I,II /ROi diskmag FireWork /CodeWise intro Scene Side /SST diskmag Never Land 1,2,3 /Crazy Coder intro Glitch by QMG Art Div. demo ENLiGHT'95 party report /ROi report Painter /HAX intro 303 /QMG Art Div. trackmo Nosferatu /Nephilims demo Hellizer /QMG Art Div. demo
3.������ � �p����� �p�������������� ��p����p� � ����p�� demos/intros/etc...
4.Commodore 64 - �����, ����, �p������, ��p����
�p����:
Commodore 64 - ������, �� ����p�� �������� ��� ����� ��������� ����p� ������� ��� demo/intro/diskmag � ��� �p����.
��p����p������:
CPU: 6510 - 1MHz, 8 bit, RISC like instruction set (56 instructions), 13 addressing modes, pipeline, ~4-5 times faster than Z80 at same clock
Memory: 64K RAM, 20K ROM, standard expansion - 256K & 512K units
Video: Sprites, Raster IRQs, Text/Graphics modes at same time, 320x200x16 colors. With open borders - 512x256 horiz.,vert. scrolling
Sound: 3 Tone Oscillators
4 Waveforms per Oscillator: Triangle, Sawtooth, Variable, Pulse, Noise
3 Amplitude Modulators Random Number/Modulation Generator
3 Envelope Generators (Attack Rate, Decay Rate, Sustain Level,Release Rate)
Oscillator Synchronization
ing Modulation
Programmable Filters
Master Volume Control
External Audio Input
Ports: RS232, IEEE488 serial bus, Centronics, Two A/D inputs Video outputs: Composite video PAL, Monochrome video, RF Expansion Port
Peripherals: 2 Joysticks, Mouse, Light Pen 1531 tape datarecorder 1541,71,81 diskdrives (own ROM/RAM, CPU - 6502AD)
C64 �����
intro
- ��������� �p����� ��p���������� ��p���������/������������ ��p���������� + �p����� ��p��������� LOGO ����� ���� - logo ��� ����p��� ���� ��� �� ���� ������� �����, ���p���p.
LOGO ���������� �� ��p���� ������ ��p������������ p���p����� ���������. ������/���p��� ���� ���� �������� ������� - ���p���p, ���������� �� ��������� ��� ��p�����������.
������ ���� ���-�� � 70% ���p, ������ ����� � �������������. � ������� �� �����, �� ���� ������ �p��������������� � ������������� ������, ���p����� ��, ������, ��p����, �� �� � ���� ������ �� �p���� ���p� (!)
Intro ���� �� ����, ��� �p�����, �� ������������ - �� �p���������� � �����p���������/�p������� ������ � �p����� �����. ����� �� ��� ������������� �� �p�����, ����� ���� p�������������� (������ � �p���������� ����� video ram'a) � ����������� ��� ���� ��p����.
�����p ���p� ��������� � ����������� �� ����p��������� � ������� ������ ���-�� �� 5�� �� 20�� ������ (1.2-5kb). ������ ����� ������� ����p��������� ������� �� �������� ����� 8-15kb.
demos
��������� ����������� ����, ���������� ���� ��� �-���� party, ���� �p���� ��� (����������� ���� ���-�� 70%/30%, �� ��� ������, - ��� ������, ��� ������ �p�����p������� �� party).
�����p - ���-�� �� ����� 1�� ������p����� ����� (�.�. ��p���� 360kb)
Demo �������� �� ���������� ������ - ����� ����p�������. �� �p��� ����p���� (~10-25cek) ��p��� ������ � �p��������� �����-�� �p�����, �� ����������� ��������. �������� ������ ������� �� design, �p����� � ������. �������� ���� ������ �� ���������, ������ ��� ����� ���� ����� �� �64 �� ������ - ��� ����� �p���� ���� ����� ������� ������������. (H������ ��p��� � �p����� �� p������p�������, ������� ����� �� ����).
������� ���� � �����p�����, �� �������� p���� � ������ �� ���� � ������. � �������� ������p���� - ����� ������ �������, ����� ���� �� coder'�� Offence p�������� ������ �� Crest'a ����� ���� (����� �������� - ����� ���p�� ��� ��p�������� :). ��� ��� - Crest � �p����� ��p���� ��p������ �����, � ����p�� ���� ������������ ��� ����. ��� ����p����� ������ �������. Offence �� ��������� ����� �� �����, ��� �������, ����p���� ��p������ ���� �������, �� ����p��� � ����� �� ��p����� �������� :)
H� party ������������� �p���, ��� ����� ��������p�� ������ �� ����� �������p�, � ������� �� ����������� party, ��� ��p�� �p������ ��-�� $$$.
Noters
H�������� (1-6kb) �p��p�����, �p� ������� ����p�� �� ��p��� (������) ��p��� ���������� ����� �p���:
?????? NOTER v?.? by ?????
PRESS SPACE TO SEE ACTUAL NOTE
PRESS ANY ELSE TO EDIT NOTE
���� ��������� ����� ������, �p��� �p�����, �� ��� ������� � ����� �p��� �p������ ���������� p������p�, � ����p�� ����� �������� ����� ( � ���� ��p��� ������). �p���� ��� ������ ����� ������ ����, �������� ����� ��p������ ���. animated chars etc... � ������p�� ����p�� ��� ����� ������ - ��� �� ����� � ���� "p������p", � ��� ���������� ������� ������ (�������� ��p��p�, backspace,del,�������) ������������, ����� ����� �p� ������� ����p����������. ���������� ����� ���p��� - p������������� ��p����, ���p���������� ������ � �.�.. ��p���, ����� ����, ��� ��p������p���� - ��� ��� ������������ (� ������ ��������� ����� �� ����, ����p�� �p� ������� ����� ������ ��� ���� ����� (��������� ������/������), �� ������ ��� � ����� �������).
� ���� ��������� �p����, �� ���� ��� p�� � ������������ ��� ��, ��� ������� �p�������� ������� (�p�����, ��� ������ � �.�).
�������������� noter'� ������ ��p���. H��p���p:
Scene
������ ������������� coder'��, graphician'��, musician'��, cracker'�� ���� ��� swapper'� ��� ���p������� ��p���� ����� ��������� ���� �������. ��� ���������� ��p������� � �p����� �p������/p�������� ������ �� ������ warez'��, � �p���� � ����� �� ����.
����� ���� ��� fixer'� - ��� ���������� ���, ��� ������� ���� � ������-��� p��������� �-���� ��p��� �����/��p�.
H��������� �������� ������������ ������ - �� PC ���������� �������� ������ �p����� ����� cracker'��� � demo maker'���. �����p�� � ������p�� �p��� ������ �� ���������� :) ��� ��� - �� c64 scene ����������� ������ ���������� ���� �p���. ��� ��� ����� ��� ����� ���-�� �p���p����� �������������, ��� �p����� � ����, ��� �� ����������� ���� �������� ���������� ���� � � ������ �� �p������ ������� �p��������� ���p� �� ������ ������ :(
��������� � �����������
99.99% ����� ������� �� ����, ���� ���������� C, BASIC, PASCAL, LOGO, FORTH, LISP ���.
������p���� kernel'������ ����p��p���� �����/������ ������ �� ������������ - ����� ����.
���� ��p����/����� �������������, �� ����� ������� ����� �p����� ���p������� �������p������ (�� �64 ����� � �������� ��������� � ��� ������������������, � ����p�� ��������)
������ �� ����p������ ����������, �� ������ ����p������ ��� ��� ���������� �� ��������� ���� :) ��� ������� ������ ���� ����, ����p�� � �� ���� �����p�����.
99.99% ��p���� �������. � �� ����� �� ����� ��p�, � ����p�� �� ���� �� ���p� ��� ���� �� ������� ��� fixed/cracked/trained by ??? :)
����������� p������p� ����p���� �� ���� tracker'��, ������ ������ ���� ���� - ����� ������ (������� order ���, �p���� � �����p��� �� ������� �� ������� ���� ������ �� ����� block'�, ����p����� ��������� ��p��� ���). ����p������ p������p����� � ����� tracker'� ������� ��������� ����p�� (ADSR, �����p�, ���������, ��p�� ����� � �.�.). ������ ����� tracker'� �p�����p����� �� �������� ���.. ������ ���, - ��������, ��� p������� ������ � ������. H��p���p, ��� �������� �� �p��� ��������� ������ ��p��������� ������� ����������, ����� ������ �� �p����� ����� �� ������� �p����� ���� �� p���p� �p������ �� �p���p������ ������. :)
���������� ��p� ��� (����p�� ����� � ������� ����������� ������ ��� ����� ����, ��� ��� ����� ����� ���� �������� :( ;)
�p��p���� ������� ���� � ������� assembler'a, ������ �������� �p����� ���p������ p������p, �/��� � ������� ���� ���������� monitor. ��� �p���������� �� ���� assembler/disassembler ��� ���������� ����� + ���� �������� ��� ���� transfer/fill/load/save/ascii-hex dump/search. ������p�� ���������� �������� �����, �� ��� ��� ������ �������� ������ � �������� 17 ������ (4.3kb) - ����� p����p ���������� ��������� p��������� � ������. ���������� ��p�p���� �� ���p������� ������p���/debugger'ami � �.�. (���� Final Cartridge III, Action Replay � �.�.)
5. �������� ����p���� � ����p����� p������
5.1.���������� �����.
[Andrew Zabolotny]
H� �p�������� ���������� ������ � ������ ����o������ �������� ��p������� ���p���� Phong`�. H��� � ����� p��������� �p��������� ������������ =) ���� �p�����p����� �����p��� �����p���� ���� ������ � ����� �p���� ��� �������� ����������. � �p��������� ��� �������� ����� ������p�� ������ �p��p����p������ 3D �p����� � ����� ��������p��� ������ �� �������� �����p� :-)
�������, ��� � ��� ����� p����, � ����p�� ����������� �����, ����p�� (����?) � ��� �� � ���� �p��� ���� �� �����. ������ � ��� ����� ��������� � ����� ��� ��:
����� � ���� �������� ������� ��������� � ������� �����/���p� �� �p����� ��������� �� ����p���� p�����. ��-��p��� ������� �������� ��� ������ � ����p�������� �p���� _��p���������_ ������ ��� ������� �� �p������ p���������� :-( ��-���p��, �� ���� ��������� ������ ������������ �p� p�����, �� ����, ����p����. ������ � �� �����.
1-� � ����p�� ��� ������ ����� ��������. ����p������� ��������� �p����������� ��p���� � ����p��� ���p�������. H�p���� �p������������ ��������� �����p�� � ���p�������� ������������� ����� `����p����` ������ - Phi & Theta. ��� ����p������� ���� �����p�� ����p����p����� Phi & Theta, ����� �� ������� p����p�� 256x256 (64K) /Phi & Theta = 0..255/ ����p����� �������� ������������� �������� ����p������ � ������ ����� �p� ������ ��p���� � ����p������. ����� ����� ������ - �������������� �p������.
����� ����� 2 (���! � �� ����) �p����� ����������: ��-��p��� ���� ������ �p��������� �p����� - ����� ������ �p����� ��p���� ��p������� � ����p��� ���p������� (� ���� ���� �p�����, �� p�������� �������� ������������� ��� �����p (0, 90) ��������� � (180, 90)) � ��-���p�� - ���� ����� ����p�� ��� ��� ����p����p�� �����p� � ����p��� ���p������� �� �������� p�������� ������������ �� ���� ����p�� ���������� �p� ����p������� � ����p����� ���p�������. �p��� ����� ��� ������������ ���: �p�����p����p���� �������� �������������� ��� �����p�:
(0,90) -> (0, 0) �
(180, 90) -> (0,0)
� ����p����� ���p������� �� ������� ���������� p��������, � ����p��� - ��� � �����. ���p�� �����p ��������� �� ������� ���p���.
2-� ��������� ������� �� ��p���. �p����������� �����p� ���p������� ���p�������. ��� ���������� ���p������� ���p������ �� ����p���: � ����p��� Theta ��� ���� ����� �����p�� � ���������� OXY � � ���p������� - ���� ����� ���� OX � �p������� �����p� �� ��������� OXZ. H��������� � ����� ������ �� �� ��� � � ������ N1.
��p��� ��� ������ ����� �������� �� ���� ��� ������
3-� �����, ������� � ����� ��� �� �������, ����� ����� ��� ������ ���. H�p���� ����p����p����� � ����p����� ���p�������, �� �� ��� �p� (X,Y,Z) � ������ (Y,Z). H��p������� �����p� ����� ������ ��������� (��� �����) � ���� OX ����� �������� ��p����p ����p������� ��p�. ��� ��������� ������������� �� ���� ���p�������? ����� �p����: �p������������ ��� �p� �������� ����p������� ������ �����p� �������� �������� (�� ����� ���� ��� �� ���) � ����������� ��� ������ ��p� (Y, Z) ������� ������ ��� X ��������� �� ���p� � ��������� p�������:
X^2+Y^2+Z^2=1 => X=Sqrt(1-Y^2-Z^2). (1)
����� �� X,Y,Z ��������� ���� ����� N � L(�����p�� �����). �� ��� - ������������� (������ �� ������ ��������� Phong`�). ��� ��� ������������ � ������� p����p�� ����� �� 256x256.
H��������� ������:
� ��������� �p��� ��� ������� ����� ������������. �p��������� ��� ����� �������� �� ��� � ��������� �p��� ��� ����������. H��p���p:
animate.com (4K)
crshtst.com (4K)
loop01.com (4K)
BillG force (64K)
[...]
���������� ��� ���� "�����" ����p��, �������� ��, �������� �� ���� ����������� ������������� �������. ������ �� ����� ���� ������� ���������� ����p�� ��p��������� ��� ��������� `��������`: ��� �� Phong � ����� ����p������ Gouraud shading. �������� �p���p�� ����� ������� ���� PHONG.TXT �p��������� �� ��� ����� �� DEMO.DESIGN.UUE. ���� �� ���������, ��� �����������, �������� ��� ������� �� �� �� ��� ��� ����� :-) H� ������ ����� ��� ���p������� ��� ���� ����� ������������ � fboom.exe (what you can do with a torus) �p���� ����� ���������� ��� 'phong'. ����� ���������� �������p����� � ���� ������� �� ����� �����p� ���p���� ��� �p��� ������ ��� �������� ���p���� ��p�, �p���� ���� ���������� ����������� �� ������� �� �p����������� �p���� ����� ��������� ������������� (� Phong ��� ����� ������ �p����������). � �� ���� ����� �� ���-����� �� ��� �� �� �������� ������� � ����������� :-)
������ � �������: H� ����������� ����� ������������ ����, ������� ����p���� � ��p� �p� ������������� ��������, � �� �����p��, ������ ���������. H��p���p ����, � �������, ��������� drift.exe ����p��� ������������� �� ��p�, ������ ��� � �� ������. ������ ���� � ���� �������! :-) � ����� ��� ����� �p���� ����, � ��������� ��� ������ �p������ ��p� :-)
... ���� �������� H� �� �p����������� ����p����p����� �����p�� ����� ���p�������� ������ �p��. ����� ����, �����p � ���� ����p����p����� ����� :-)
�p�������� ���� ��������� ��p. �� ���p������� ����� ��p���� �����-�� ��������� �����p, �p��������� (1,0,0). ����p� �p�������� ���� ��������� p���������� ��p �� ��� ���������. ��� ������ p������p�� (���p���p) ��������� XOY. �p�������� ���� ��� ����p�� ����� ������ �p��p����� � (0,0,0) � �p���� ��������� �p�� ����� ����� p��p���, �� ���� � 0� ������������ �����p� ����� �� 360�. ����p� ��p����� �p���� ��������� ������������ � ������ ��p�� ����p�� �� �p������; ��� �����������:
_--_ / \ / \ / \ / \ / \ / ~--~ --------------------------> angle 0 360
���� �� �p���� �� ������� ��� ����� ��������� ����p�� �p������ ��p�� ��� OX. ����p� �p�������� ���� ��������� ����������� �� ��� OX �� 45�. ��� �� �������? �� �� ����������� ������ ��������� �� ����� �� 1 � cos(45�). ������� ��������� YOZ. ��� �� �����? ��������� 0.
�� ���� �� ����� ����� 90 �p������ ��������� ����� ����� ���� ���������� � �����p�� �����. �� ��� ���� ������ - ��� �� �� ����� ������ ��� ����� (������ �� ��p�������� ������ ����� :-)
� �p���� ���p��� �� ����� �������� � 360 �p������ ��� ����p��� ������ �����p� ��p���� � ��������� (�� ����� ���� 180 �� ����� �������� ��p��� ������� 360). ������� �p���� 360 �p������ �� 256 ������, ����� 90 �p������ ��� 64 �������, ������� �p������� pre-computed ������� � 16k.
����p� ���������� �p��������� ���� �p��������� ����p�� ��� ����� ���p����� �� �����. ����� �p� ��p���� � ��� ��p�����. ��p�� ����� ��� ��p���� ����� �p������ ��������� (��� ������� � ��������� ��p�� �p� �����; �� ��������� ��� �����p� ��p���� ����p����� � (0,0,0) � �� � ����� �p�����������). *���* �p����������� �����p� ������������ �p� ����p������� �����p�� ��p���� �� ����� ��������� � ���� ���������. ������� ����� ��� �����p� ������� ����p����p����� � ���� ���������; �� �� ���p������ ����� �p����� ���� ����� ��p����� � *�p�������* �����p� ����� �� ��� ���������.
��� ��������� ��������� ��� �����-�� ����� � �����p� �����. ���� ���� ����� ��������� (���� �� ������ ��� �� ������ ������ �� ������). ��p�� ���� �� 64`� ������. ����� ������� ��� ���� ����� ��p������ � �p������� �����p� ����� �� ��� ���������. ��� ���� ���-�� �������� (�� ����� ������, �� ���-�� � ���� �����p���� ��������� - �, ��������! �������� �����p ����� �� �����p ��p���� � �������� �����p ��p���������p��� �� ����� ����p�� ��������� � ������ ���������; ���� ����� ��� � ������� �p������� p���� 90�). ����� ����p����p��� ���� ���� (��� ���� �����-�� ������ ������ ���� ��� ����p����p�����: "��p��� ������" ��� "����� ���p���") � ��p�� ������� �� �������.
H����� ����p������ �p������. ��� ����p������ ���������� ��������� ����� (��� p����������) ������� ���� �� ����p����� ��� �������� ��� ���� ���� ��� ������� �����, � ��� ��� ���� - ��� �������. �p� ���� ������ ���� �� ������p�� �� ������ ����� �� ����� ��������� ���p����� :-) �� ���� � ������ ������ ����������� (���� �p��� �� ��������� ��p��� ���� � �������� ������ �p�����). ������� �� �p������ �� ���� ����� �p��� ��������
(cos(A) * (FinColor - StartColor)) + (FinColor - StartColor)/2.
5.2.SCALING
[Oleg Homenko]
������� 2 c�c���� ���p�����:
�p��c����� c���, ��� ������ ����p��� �� ���� Alpha �p���� ��c���� c�p��� ����c������� ��p��� (� ��c�� ��� �p�c���� ����p� ��p��� � ������� c��������, � ��c����� ���� c��������, �.�. ���� ��� ��������)
����� ����� ����� ��p���� ��p�����:
X=x*cos[]+y*sin[] ; Y=-x*sin[]+y*cos[]
x=X*cos[]-Y*sin[] ; y=X*sin[]+Y*cos[]
����� ��������� ��p�� c�p��� �� c�p����, �p� ���� ������c� c���� ���p���. ��������� p����p� ���c��� ��p�� x(pix) � y(pix). ����� :
horiz. loop:
x+=x(pix) ; y=const ; => X+=x(pix)*cos[] ; Y+= -x(pix)*sin[], ���
(��������, ��� x(pix), sin � cos ����� ����c���� ���� p�� �� ��c� ���p)
X+=ddx ; Y+=ddy
�� �c�� ��c������� �c��� ���� c������� �� ���c��! ����������:
vert. loop:
x=const ; y+=y(pix) ; => X+=y(pix)*sin[] ; Y+= y(pix)*cos[], ���, �����:
X+=d2x ; Y+=d2y.
�c�� ����p� ��������� � p�cc������ �� �������, �� ��p���� ���� c����� �������c�:
ddx = dist*cos[]
ddy = -dist*sin[]
d2x = dist*aspect*sin[]
d2y = dist*aspect*cos[], ��� aspect=y(pix)/x(pix) ; dist - ����� ��������, ��p����� p��� p�cc������. ����� ��p����, ���� p�� �� ���p ���� ����c���� 4 �p���������� (c���c� - �� �������), � ��� ����c���� X � Y, c������c������� ������ ��p����� ���� ��p���. � �c�!
��, ���. �c� ����c����� ��c������� �p��������� c ���c�p������� ������ 8.8 ���� ����� �p� ���c�������� ����������� ���� ���-�� 80% �� ��������� �p�������������c��, ���� p�c��� ����� �p�c���� ��p�����, ��� �p���� ������.
5.3.FRACTALS
������� � ���������
[Maxime Zakharov]
��p��� ������ - ��� �������� p����� �.�y��� �� ����� �.-�.�������, �.�.�����p "�p����� �p�������", ��p 1993. ����, ��� ����p��y���� �p�������� p�������y� ���� �� ������p���. ���p�� - ������p�� ��� ����� �� ���y ����p������� ��������
��������� ����� � ��������� ������������
��������� ����� ������������ ����������� � ��������� ������������ ���������� � ��������, ������� � �������������� ����� ������ ������������� ������, - �� ������������������� ���������� �����, ������������ �� �������� � ������� �����������:
Z(n+1) = Z(n)^2 + c, ��� c - ��� ����������� ����������.
��������� �������������� ������������������ ����� ������� �� ��������� c � ��������� ����� Z(0). ���� ������������� c � �������� Z(0) � ���� ����������� �����, �� �� ������� ��������� �����, � ���� ������������� Z(0) = 0 � �������� �������� c, �� ������� ��������� ������������. ���� ����� Z(0) ������ �� ����, �� ������������������ ����� ������ ��������� � �������������. ���, �������, ����� ����� � �����, ����� ����� Z(n) ��� ��������� n ��������� ������ �� ����. H� ���������� � ����� �������� Z(0), ��� ������� ������������������ (Z(n)) ������� �� ������ ������, � ������ �������� ������������. ��� �������� c ��� �������� �������� ����������� ��������� ����� Kc ��� �������� Fc:Z->Z^2+c. H�������� �� ��������� ����� ������� �� ��������� ����� Kc.
������ �����������, ��� ��� ��������� ����� ������� �� ������ ��������� c, �� �������� ��, ��������� ��� ����������� ������. �, ����� c, ����� �������� ����������� ������������ �������� �����: ���� �� ��� ������ �� ������� "�������" ����, ������ ���������� ������ ����� �������, ������ �������� ��� �����, ������� � ���� �� ����� ����������.
���� ��� �������� ���� ��������� �����: ��������� �� ��� �������� �������� (�� ������� ��������), � ������ ������������ ����� ������ �� ����� (�� �������� �� ����������� �����������). ��� ���������� ���������� ������� ����������� ������ ����� ��������� - ��������� �������� c, ��� ������� Kc ������. � ������ ��� ���������� ������������, ��� ��� ����� ����������� ��� ������ ��� ������� ��� ����������� � ������� ���������� � ������� ������ ��� ��������.
��������� ����� ����������� � ����� �������� ���������� ���������. ����������� �� ��� �����������. �������� �� ������� ������-���� ��������� Kc � ���������, �� ������ �������, �������, ��-������, ���� ������ �� ����, � ����� ����� �� �������, �, ��-������. ����� ����������� �� ���������� �� ���, ������� �� ������ � ��� ����������. � �� �� ����� ��������� ������������ � �� �������� ��������� �����������: ��, � ������������� �������� ����������� ����� ����� ����� ������ ����, �, �������������, � ����� �� ����� �� �� ��������� �� ������� � � ���������, �� ������ ��������� �� ����� ����� �. H� ��� ����� �������� � ���� �����, ��� ������� ����� ������ ������� �� ����, � ����� ����� ��������. ����� ����, ���� ������������� ��� ����� ���������� �������, �� ��������� ��������� ����� ���� � �� ������� ����� ������ �������� �� ������ �� �����, � ������� �� ���������, �� � �� ���������� ����������.
������������ ���������
������������ ������������ ������-���� �������������� ���������� ������ ����������� ���������, �� ������������ ��� ���� ��������������. ����� ������� �������� ����� ������� ������, ������������ ������������� ������������� �������������� f(x) = x^2 + b * x + c.
������ ���������� ����� �������� ������� �� ������� ��������������
f(x) = x^4 + 2 * Q * x^2 + E (*)
������� ������� �����-���� ���������� �������� ��� ���������� Q � E, ��������, Q = 0,13 + 0,4i, E = 0,08 - 0,5i ������� ���������� - �����������, ������� ��������� ���������� ��������:
iteration = 5000
H�������� ��������: X0 = 0
������� ��������:
X = +/- SQRT(-Q +/- SQRT(Q^2 + X - E)) i+1 i
��������� (*) ����� � ����� ������ 4 �����. H�� ���� ������� ��� ������ �������� �����-���� ���� ������. ����� ����� ������������ ��������� �������. +/- �������� ���� ��� �����. ��� ���������� - ��� ������������ �������. ���� ��������� ������ Xi: ��� x - Re Xi, ��� Y - Im Xi ��� ������ �������� ����������, �� ���������� ������ ����� ���������� ������. ����� ���������� ������ ������� �� �������� ���������� Q � E.
���������� ����� ��������� ������, ������������ ������������ ������ ������� ��������������.
�H������� ��H���������
[Lenik Terenin]
/* * File: MANDEL.C * * Mandelbrot set generator. * Uses iterative algorithm z(i) = z(i-1) * z(i-1) + c, * to determine the color of current (x,y). * * DO NOT try to compile this using WCL386 ! * Use "WCL -3" or Borland/C++ instead. * * (c) Lenik Terenin, 1995 */ #include <dos.h> #include <math.h> #include <conio.h> #define LIMIT 100 // Increase LIMIT to get more exact picture #ifdef __BORLANDC__ void SetVmode( short mode ) { asm { mov ax, [mode] push bp int 10h pop bp } } #define PutPixel13(x,y,c) pokeb( 0xA000, (x) + (y) * 320, (c)) #else #ifdef __386__ #error Can't run in 32-bit mode, sorry... #endif void SetVmode(short); #pragma aux SetVmode = \ "push bp" \ "int 10h" \ "pop bp" \ parm [ax] void PutPixel13( short x, short y, short c); #pragma aux PutPixel13 = \ "push ax" \ "mov ax, 0a000h" \ "mov es, ax"\ "pop ax" \ "shl bx,6" \ "add di,bx" \ "shl bx,2" \ "add di,bx" \ "stosb" \ parm [di] [bx] [ax] modify [es] nomemory #endif main() { int i, j, k; double z_i, z_r, c_i, c_r, tmp; double module; SetVmode( 0x13 ); for( i=-160; i<160; i++) { c_i = ((double) i) / 100.0; for( j=-160; j<40; j++) { c_r = ((double) j) / 80.0; z_i = z_r = 0.0; for( k=0; k<LIMIT; k++) { tmp = z_r * z_r - z_i * z_i; z_i = 2 * z_r * z_i + c_i; // z = z * z + c z_r = tmp + c_r; module = z_r * z_r + z_i * z_i; // is |z| large enough? if( module > 1.0E16 ) break; } if( k<LIMIT) { PutPixel13( i+160, j+160, (k/15)*2+20); } else PutPixel13( i+160, j+160, 16); } if( kbhit() ) break; } getch(); SetVmode(3); return 0; }
��������H�� ������H��
����, ��� ������ ��p����� :)
.......... 0-� ......... .... � ...... . ..�. . ' ' . . ' .. � .. .. � ' .' . . .. . .' .' . '. ' . . . . ' ' . ' . 1 | 2 .' . .' ' ' ' . . '. .' . ' . ' '.. ....... . ' . . 4 ...'''. '. . . ..'' '. 3 . .' . .' ' ........' ..' .' ....''' ''''''''.........''''''
���c� ���p�� 0 ��������� ������� ��c� (��� ����� ��p����� �����p� ����p������) 1, 2 � 3 - ������� �� p����p� ��c���, ���������� �� 0 ����p����, ��p���c�� � ��c�����p�������, � 4 - ��p����, ����p�� �� c���� ���� ���� ������� 0, �� c����� c��� � ����p����� ���p�������. ��c�� ������� ��c���� c������c������ p���� S1, S2, S3 � S4. �p���p�������� �������, ����p������� ��c� 0 � ���� �� ������� ��c����, ��������c� �������� � ����� ���:
x_new = a*x_old + b*y_old + c
y_new = d*x_old + e*y_old + f,
�.�. ������ �p���p�������� ������c� 6-� �������������� a, b, c, d, e, f, � ������ �������p���� �������� ����p������ �����c��� ������c� 24-�� ��p����p���. ��� ����� ����, ���p���p, ���p������ �p�� "��p���" ������� ��c��, ��� ��� ��p������ ����� �������� ������ � ����� ��c��, � ���c ��� ����� ��c��, �������� ��������� �� �����, c���������� ��� ������ � �����. ����� 4 c�c���� �� 6 �p������� c 6-� ������c����� ������, ����� ����� �c����� �p���� ��p����p�� a, b, c, d, e, f ��� ������� ��c��.
����� ���c����� ���p�������� �p���cc.
��p�� ����� ��������� ����� ����p� ��c�� 0. C ��p�����c���, �p���p���������� S1, S2, S3 � S4 ����p����� �� � ���� �� ������� ��c���, �������c� c������c������ ����� �� 4-� �p���p��������. �����, c���p��, � ����� ��c�� �������� ��c�� ������ ����� �����, ����p����� �� �����... H�c������� ��c�� ���p���� ������ �������, ����� ��p�� ���p��c� ������ ��p������.
H� �c�� p����� c�c���� �������� �p�������, �� ����� ���������� �p������ ��p��������� (� ����c������ c fixed point). ������� � c����� ����������� ��� compo c������ ����c���� 24 "�p�������" ������������, ���� �� � ���, � ������ �������� ��c�� ��� ��������c�. �.�. ����p����� ����� ���������� ��� �c��.
� �� ���� �� ������� ���������� ���� ������������ �������� "����������", �� ��� ��:
// a b c d e f float coeffs[4][6] = {{ 0.00, 0.00, 0.00, 0.16, 0.00, 0.00,}, // 0 { 0.85, 0.04, -0.04, 0.85, 0.00, 1.60,}, // 1 { 0.20, -0.26, 0.23, 0.22, 0.00, 1.60,}, // 2 {-0.15, 0.28, 0.26, 0.24, 0.00, 0.44,},}; // 3
void fractal (unsigned char i,unsigned char c) // i - number of chhosed line in coeffs[][] // c - color of pixel { // x(j+1) = x(j)*a + y(j)*b + e // y(j+1) = x(j)*c + y(j)*d + f float x1, y1; x1 = x * coeffs[i][0] + y * coeffs[i][1] + coeffs[i][4]; y1 = x * coeffs[i][2] + y * coeffs[i][3] + coeffs[i][5]; x = x1; y = y1; putpixel ((int)((x+4)*64), (int)(y*48), c); }
- ���������� �������� ���� ���������� ����������; :)
P.S. ���� �������� ����� b1 & c1 �� ���������������, �� �� ���������� �������, �� ���������� �������, ���� � ����� ����� �������� ;-)
P.S.S.S H� �������� ��������� ������� � ��������� FAQ ���������� �������� ��������� "�p�������" const ������������� ��� ���������� �������� ����� /��� ���� �� ����������, ��� � ������ ������/ :
znr = (zr + zi) * (zr - zi) + cr
zni = 2 * zr * zi + ci
� ���� ����� cr & ci;
IMHO ��� ���� ����� ��������� �.�. ��� �������� ������ ������� �� ���� ���� const.
�p���p p������� �p��p����:
#include <stdlib.h> #include <dos.h> float x = 0, y = 0; long int xx = 0; unsigned char mode, cl = 1; void ifs (unsigned char, unsigned char); void putpixel(int, int, unsigned char); void main (void) { asm { mov ah,0fh int 10h mov mode,al xor ah,ah mov al,12h int 10h } int prb; unsigned int far *head = (unsigned int far *) MK_FP(0x0040, 0x001a); unsigned int far *tail = (unsigned int far *) MK_FP(0x0040, 0x001c); do { if (++xx > 20000L) { // change color after XXXXXXL pixel's cl ++; xx = 0; } prb = random(1000); if (prb <= 10) ifs (0, cl); else if (prb <= 860) ifs (1, cl); else if (prb <= 930) ifs (2, cl); else ifs (3, cl); } while (*head == *tail); *head = *tail; asm { mov ax,0ff08h out dx,ax mov ax,0005h out dx,ax mov ax,0003h out dx,ax mov al,mode xor ah,ah int 10h } } void putpixel(int x, int y,unsigned char color) { asm { // skipped.. } } // a b c d e f float paport[4][6] = {{ 0.00, 0.00, 0.00, 0.16, 0.00, 0.00,}, // 01% { 0.85, 0.04, -0.04, 0.85, 0.00, 1.60,}, // 85% { 0.20, -0.26, 0.23, 0.22, 0.00, 1.60,}, // 07% {-0.15, 0.28, 0.26, 0.24, 0.00, 0.44,},}; // 07% void ifs (unsigned char i,unsigned char c) { float x1, y1; x1 = x * paport[i][0] + y * paport[i][1] + paport[i][4]; y1 = x * paport[i][2] + y * paport[i][3] + paport[i][5]; x = x1; y = y1; putpixel ((int)((x+4)*64), (int)(y*48), c); }
5.4.SPLINES
��� ��� �����:
��� ���� �� �������� ����p�������. ����� ��. Glossary
����:
���� �������� ������� � ������p�� ����p� ����� (����� ���� ���� �p���������, ���p�� �p���������, �� ����� ������� ��p���� ���������� ���������) � ���� �� ������. � �� ������ ��p���� (�����p�, ���� � �����p��� ������) �� i-�� �� i+1 ����� ��p����� ���� ����p����p����� ������� � ������ �������� ������.
H��p���p:
����:
X1, X2, X3 ���p������ �����.
Y1, Y2, Y3 �������� ������� � ���� �����
Y'1, Y'2, Y'3 ��p��� �p��������� � �����
������ ����p����p����� ������� �� ������ ������� ��������� 3-�� ��p���� � ����� ����� ���:
Y = A3 * X^3 + A2 * X^2 + A1 * X + A0
��������, �� ����� ��������� ������� ��� ��p���� ��p����. ������� �������:
Y1 = A3 * X1^3 + A2 * X1^2 + A1 * X1 + A0
Y2 = A3 * X2^3 + A2 * X2^2 + A1 * X2 + A0
Y'1 = 3*A3 * X1^2 + 2*A2 * X1 + A1
Y'2 = 3*A3 * X2^2 + 2*A2 * X2 + A1
�������� ������� �������� ������p����� �p������� ������������ A0, A1, A2, A3 �.�. ���� ����� ��������� ����p����� �������� X1, X2, Y1 � �.�. P���� ��� �������, �������� ������� ����������� ����p����p������ �������� �� ������ ��p����....
��� ��� p���������� �� �p������:
��� ��p���� �p���p:
{------------------------------------------------------------------------} { Catmull_Rom and BSpline Parametric Spline Program } { } { All source written and devised by Leon de Boer, (c)1994 } { E-Mail: [email protected] } { } { After many request and talk about spline techniques on the } { internet I decided to break out my favourite spline programs and } { donate to the discussion. } { } { Each of splines is produced using it's parametric basis matrix } { } { B-Spline: } { -1 3 -3 1 / } { 3 -6 3 0 / } { -3 0 3 0 / 6 } { 1 4 1 0 / } { } { CatMull-Rom: } { -1 3 -3 1 / } { 2 -5 4 -1 / } { -1 0 1 0 / 2 } { 0 2 0 0 / } { } { The basic differences between the splines: } { } { B-Splines only passes through the first and last point in the } { list of control points, the other points merely provide degrees of } { influence over parts of the curve (BSpline in green shows this). } { } { Catmull-Rom splines is one of a few splines that actually pass } { through each and every control point the tangent of the curve as } { it passes P1 is the tangent of the slope between P0 and P2 (The } { curve is shown in red) } { } { There is another spline type that passes through all the } { control points which was developed by Kochanek and Bartels and if } { anybody knows the basis matrix could they E-Mail to me ASAP. } { } { In the example shown the program produces 5 random points and } { displays the 2 spline as well as the control points. You can alter } { the number of points as well as the drawing resolution via the } { appropriate parameters. } {------------------------------------------------------------------------} USES Graph; TYPE Point3D = Record X, Y, Z: Real; End; VAR CtrlPt: Array [-1..80] Of Point3D; PROCEDURE Spline_Calc (Ap, Bp, Cp, Dp: Point3D; T, D: Real; Var X, Y: Real); VAR T2, T3: Real; BEGIN T2 := T * T; { Square of t } T3 := T2 * T; { Cube of t } X := ((Ap.X*T3) + (Bp.X*T2) + (Cp.X*T) + Dp.X)/D; { Calc x value } Y := ((Ap.Y*T3) + (Bp.Y*T2) + (Cp.Y*T) + Dp.Y)/D; { Calc y value } END; PROCEDURE BSpline_ComputeCoeffs (N: Integer; Var Ap, Bp, Cp, Dp: Point3D); BEGIN Ap.X := -CtrlPt[N-1].X + 3*CtrlPt[N].X - 3*CtrlPt[N+1].X + CtrlPt[N+2].X; Bp.X := 3*CtrlPt[N-1].X - 6*CtrlPt[N].X + 3*CtrlPt[N+1].X; Cp.X := -3*CtrlPt[N-1].X + 3*CtrlPt[N+1].X; Dp.X := CtrlPt[N-1].X + 4*CtrlPt[N].X + CtrlPt[N+1].X; Ap.Y := -CtrlPt[N-1].Y + 3*CtrlPt[N].Y - 3*CtrlPt[N+1].Y + CtrlPt[N+2].Y; Bp.Y := 3*CtrlPt[N-1].Y - 6*CtrlPt[N].Y + 3*CtrlPt[N+1].Y; Cp.Y := -3*CtrlPt[N-1].Y + 3*CtrlPt[N+1].Y; Dp.Y := CtrlPt[N-1].Y + 4*CtrlPt[N].Y + CtrlPt[N+1].Y; END; PROCEDURE Catmull_Rom_ComputeCoeffs (N: Integer; Var Ap, Bp, Cp, Dp: Point3D); BEGIN Ap.X := -CtrlPt[N-1].X + 3*CtrlPt[N].X - 3*CtrlPt[N+1].X + CtrlPt[N+2].X; Bp.X := 2*CtrlPt[N-1].X - 5*CtrlPt[N].X + 4*CtrlPt[N+1].X - CtrlPt[N+2].X; Cp.X := -CtrlPt[N-1].X + CtrlPt[N+1].X; Dp.X := 2*CtrlPt[N].X; Ap.Y := -CtrlPt[N-1].Y + 3*CtrlPt[N].Y - 3*CtrlPt[N+1].Y + CtrlPt[N+2].Y; Bp.Y := 2*CtrlPt[N-1].Y - 5*CtrlPt[N].Y + 4*CtrlPt[N+1].Y - CtrlPt[N+2].Y; Cp.Y := -CtrlPt[N-1].Y + CtrlPt[N+1].Y; Dp.Y := 2*CtrlPt[N].Y; END; PROCEDURE BSpline (N, Resolution, Colour: Integer); VAR I, J: Integer; X, Y, Lx, Ly: Real; Ap, Bp, Cp, Dp: Point3D; BEGIN SetColor(Colour); CtrlPt[-1] := CtrlPt[1]; CtrlPt[0] := CtrlPt[1]; CtrlPt[N+1] := CtrlPt[N]; CtrlPt[N+2] := CtrlPt[N]; For I := 0 To N Do Begin BSpline_ComputeCoeffs(I, Ap, Bp, Cp, Dp); Spline_Calc(Ap, Bp, Cp, Dp, 0, 6, Lx, Ly); For J := 1 To Resolution Do Begin Spline_Calc(Ap, Bp, Cp, Dp, J/Resolution, 6, X, Y); Line(Round(Lx), Round(Ly), Round(X), Round(Y)); Lx := X; Ly := Y; End; End; END; PROCEDURE Catmull_Rom_Spline (N, Resolution, Colour: Integer); VAR I, J: Integer; X, Y, Lx, Ly: Real; Ap, Bp, Cp, Dp: Point3D; BEGIN SetColor(Colour); CtrlPt[0] := CtrlPt[1]; CtrlPt[N+1] := CtrlPt[N]; For I := 1 To N-1 Do Begin Catmull_Rom_ComputeCoeffs(I, Ap, Bp, Cp, Dp); Spline_Calc(Ap, Bp, Cp, Dp, 0, 2, Lx, Ly); For J := 1 To Resolution Do Begin Spline_Calc(Ap, Bp, Cp, Dp, J/Resolution, 2, X, Y); Line(Round(Lx), Round(Ly), Round(X), Round(Y)); Lx := X; Ly := Y; End; End; END; VAR I, J, Res, NumPts: Integer; BEGIN I := Detect; InitGraph(I, J, ''); I := GetMaxX; J := GetMaxY; Randomize; CtrlPt[1].X := Random(I); CtrlPt[1].Y := Random(J); CtrlPt[2].X := Random(I); CtrlPt[2].Y := Random(J); CtrlPt[3].X := Random(I); CtrlPt[3].Y := Random(J); CtrlPt[4].X := Random(I); CtrlPt[4].Y := Random(J); CtrlPt[5].X := Random(I); CtrlPt[5].Y := Random(J); Res := 20; NumPts := 5; BSpline(NumPts, Res, LightGreen); CatMull_Rom_Spline(NumPts, Res, LightRed); SetColor(Yellow); For I := 1 To NumPts Do Begin Line(Round(CtrlPt[I].X-3), Round(CtrlPt[I].Y), Round(CtrlPt[I].X+3), Round(CtrlPt[I].Y)); Line(Round(CtrlPt[I].X), Round(CtrlPt[I].Y-3), Round(CtrlPt[I].X), Round(CtrlPt[I].Y+3)); End; ReadLn; CloseGraph; END.
5.5. X-Mode
��� ����� X-Mode?
��� ��������� �����p������, �����p�������� ����� ������p���� VGA 256K (�� ������p���� VGA ������p��) � ������� ������� p��p������ �/��� ���-�� ������, ��� ������p���� BIOS p�����.
����� ��� �����? H������ ������������ ������p���� p������?
��� ��������� �p����. � ������� �� ������p���� X-Modes ���������:
����� �� VGA �����p������ X-Modes?
��, �p��������� ����� (� ���� �������� ��������� ������ � MCGA � PS/2-50) H� ��������� ������ ������ ��p����������� p��p������ >360 �����.
��� ���������� X-Mode?
��� �p�����p� ��������� X-Mode 320x200x256 (�������������� 4 ��p�����) �p���� p����� �p����� ��������� ��p����p�� p����p��� - ������� ��p����������� � �����p������p���� (������ �p��p����� TWEAK)
{ Set normal 320x200x256 mode } mov ax, 0013h int 10h { Put the CHAIN4-mode of Sequencer off } mov dx, 03C4h mov ax, 0604h out dx, ax { Clear the video memory (setting mode 13h clears only every fourth byte from each plane) } mov ax, 0F02h out dx, ax mov dx, 0A000h mov es, dx xor di, di xor ax, ax mov cx, 8000h rep stosw { Note: Parts 4 and 5 may need switching round, i.e. do part 5 first, then part 4... but it works anyway.... } { 4. Turn off the CRTC's LONG-mode } mov dx, 03D4h mov ax, 0014h out dx, ax { 5. Turn on the CRTC's BYTE-mode } mov ax, 0E317h out dx, ax
��� ��p������� ����� � x-mode?
H��p���p ���:
mov bx,[x] ; get X mov ax,[y] ; get Y mov dx,320 ; for 320 pels wide shr dx,1 shr dx,1 mul dx mov cx,bx shr bx,1 shr bx,1 add bx,ax mov ax,102h and cl,3 shl ah,cl mov dx,3c4h out dx,ax ; set bit plane mask register mov ax,0a000h ; sreen segment A000 mov es,ax mov al,[color] ; get color of pixel to plot mov es:[bx],al ; draw pixel
5.6. Digital difference (DDA) ����p��� p�������� �����.
������ ����� p�c������ �p���� ����� �c����� �� �p�������� c ���c�p������� ������.
�p���������, ��� ��p�� ����� �p��������� 320�200, � ����� �c����������c� fixed point 16.16. ��c�� ����� ���� �p���� ���� c����-c��p�� ���p���-����, �p���� ������ �� ����� � ��p������, ��� � ��p��������.
A |\ | \ | \ | \ | \ | \ |____________\ B C
����� �� ������ ���� �� ������ ���c����c� �� 1 ���c�� ����, � �� |BC| / |AC| ���c��� ��p��� (��c������ ��c��, c��p�� �c���, �p�����). ��� ���c� � ���� � ���� ���c�p������� �����. ����p������c�� ��� �������� ���:
xor ax,ax ; ��c�� ���� �� ����������� mov cx,|AC| ; ���������� ����� �p���������� mov di,screen_address_of_A vloop: add ax,65536 * |BC| / |AC| ; ��� ������� 16 ��� ����� c���� adc di,320 ; c��p��� 16 ��� - ��� ��p�c � ��p��� mov es:[di],something loop vloop end ;-)
�c�� �������c� ���� �����, �� c������c������: sub, sbb
H������ c������, �c�� ����� ����� � ��p��������. ����� ���� ���-�� �p���: (�c�� ��� �p������� �����, ����� ��� �����, pls!)
hloop: inc di add ax,65536 * |�������_�����| / |�������| jnc cont add di,320 cont: mov es:[di],something loop hloop end
H�, � c��c�� ��c�� - ����� ���� p�c����� ����� � ����p p����p�� 256�256. ��� �c� 4 ��p����� ����� p�c����� ����� ��c��� ����!
5.7. DDA - ����p��� ����p����� ��p�������.
��������� �p���p:
; Digital Difference Algorithm demonstration .386 a segment byte public use16 assume cs:a, ds:a org 100h start: mov ax,13h int 10h push 0A000h pop es next: mov di,281 sub di,word ptr R+2 ; screen addr starting ;===== 8< =========================================== xor ecx,ecx ; y starting mov ebx,R ; x starting mov bp,bx circ: mov al,color mov byte ptr es:[di],al mov eax,ecx cdq shld edx,eax,16 div ebx ; delta x sub ebx,eax ; next x sub bp,ax ; looking 4 CF adc di,320 add ecx,10000h cmp ecx,ebx jb circ ;===== 8< =========================================== dec color sub R,17935 ; just a number :) ja next xor ah,ah int 16h mov ax,3 int 10h retn R dd 281*65536 color db ? a ends end start
��� ��� ��������c�? ����� �p�c��. �p������� ��p����c��: y^2 + x^2 = R^2. ��p�� �p���������: (real coders don't afraid of math! :) ) dy/dx = 1/(2*sqrt(R^2 - x^2) * (-2*x) = -x/y (��� �� ��������c�, ��� ���c� sqrt ��������c� �� y). ����� �������� dy = delta_y, dx = delta_x. � �c�!
��������� �����c��. � ����� p��������� DDA c������ p�������� c�����, ����� ����� ���� ��� ������, �������� 45 �p���c�� ��� ��������. ����� �� ��p����� c��� �����, � ������ �p���p� p�c���c� ������ 1/8 ��p����c��, �c������� 7/8 ����� �������� ��p�������� ��p��������. ����� ������� ���� ������� �� 8 �����. �p� �c����������� �p�������� 8.8 �������� ����c����� p����c�� 1...127, � ���� �p���p� �c��������c� 16.16, ������� p����c ����� ���� 1...32767
P.S. H� c���� ���� ��� �� ��p����c��, �� ��� �������? :)))
5.8. ������ ���������p���p�
H�p��, � � ���� ��������c� �p������� � ���c����� ���� �� 2-� ������� ���c��c�� EGA/VGA ������� ���������p���p? � c��� ������ ������ ������ ��� �������� (�������� c�p���, � ����� �����p�� - ������).
mov si,SetCRT_On call InitCRT ;[read/write chargen here] ;[ Character address is ] ;[ A000:CharCode*32 ] mov si,SetCRT_Off call InitCRT ret InitCRT proc near mov cx,2 mov dx,3C4h call @@local mov cl,3 mov dl,0CEh @@local: lodsw out dx,ax loop @@local ret InitCRT endp SetCRT_On db 2, 4, 4, 7, 5, 0, 6, 4, 4, 2 SetCRT_Off db 2, 3, 4, 3, 5,16, 6,14, 4, 0
������ ���� ��������� ��� �� �����p���� SetCRT_Off ������ ��������� ��������� �����: db ................. 6,10, 4, 0
5.9. ������ ������� (flame)
������, ��� ���� ������� - ��� ���������� ��� �������, ������ ������� ������� �� ������ �����: ������ ������, �������� ���������� ���.��� �� ����� ����� ���� �� ��� ���� ������ �������. ���������� 320x200 (64000 �����) �������, ������, ��� ��� ������ ����������� ��� ������������� ������ ������ � ������ 13h.
���������, ��� ���� ������� - ��� ���������� ����������� �������. ��� ����� ������ ��������� ����� ����� �����, �� � ���� ������ �������� ����� � ������/�������, ������� (���) � �������, � ������� ����� ������� � ��������.
������� ��� �������. ������� �� start buffer � screen buffer,����� �������� ��� ����������.������� ���� ��������� ���������� �������� start buffer. ��� ����� ����� ������� ��������� �����, ������� ���������� �������� ����� 0 � 199 (�.�. �������� ����� ������� 200). ��� ���� ������������ �������� ��� ��������� �����("hotspots"), ����� �������,������ ��� ������� ��� ������� �����,� ������������� ��� �������� ������ ����� start buffer �� ������������ �������� �����.
��� �������� ��������� ������. ��� ����� ���� ����������� start buffer, �������������� ��� � ��������� ��� � screenbuffer, ������� ��� "��������" (�������� �������/averading) ����� ���������� ��������.
������ ��� ����� ����������� ��� �������� � X,Y �����������.
���� ���� ��������� ��� ��������� �����...
��� startbuffer ��� screenbuffer ----T---T---T---T---� ----T---T---T---T---� �0,0�0,1�0,2�0,3�0,4� ���.. � � � � � � +---+---+---+---+---+ +---+---+---+---+---+ �1,0�1,1�1,2�1,3�1,4� ���.. � �X,Y� � � � +---+---+---+---+---+ +---+---+---+---+---+ �2,0�2,1�2,2�2,3�2,4� ���.. � � � � � � L---+---+---+---+---- L---+---+---+---+----
������ ��������� �������� ��� X,Y ( �������� ��������, ����� �������� ����� �������������� �� � 0,0, ��� ��� ���������� ��������� 8 ���������� ����� ��� ��������� ������ ��������, � � ����� ������ ����� ��� 8 ���������� �����), ���� ��� ��� ��������� - ��������� ������� �������� ���� ���������� �����, �.�. �������
(0,0 0,1 0,2 + 1,0 1,2 + 2,0 2,1 2,2)
� ����� ��������� ��������� �� 8, �� ���������� ��� ��������...
������ ��� ���� ������� - ��������� ����� ���������. ��� ����� ������ �������. ��� ��� ���� ��� ����� - ����� ������� �������� �� �������� ����� ���� ��� ��� ������� �������� ������, ���� ����� ������� ����� ������ ������� �� ������� �����.�������� ����������� �������� ��� X,Y=1,1 �� ������������ �� ��� 2, 1 � �������� �� ����� 1,1
������ �������� �������� ����������� ������.������ � ����� ������� ����������� � ���, ����� ���������� ������ ����� � ���������...�� ������ 8 ���������� ����� �� ����������� �������� 2 (���� ���� � ���� ����) � ����� �� 2 ������ 8.������ - ������������� ��������� ������, ��� ����� ������������� ����� 4 ����� ������������, ��� ���������� ����� ���, ����� ����� ���� ������������ ����� ��������� �������.
������ �������� �������� ����� ���������� ����������� �������� �� ������� � ���������� ����� ��������.
=== Cut here ====== ; tasm ; tlink ; as usual 8-) .286 JUMPS ASSUME CS:_Code,DS:_DATA,SS:_Stack EXTRN _X_set_mode: FAR _Stack Segment Para Stack 'Stack' db 2048 dup (?) _Stack EndS _Data Segment Para Public 'Data' flames db 32*64 dup (0) new_flames db 32*64 dup (0) x dw 0 y dw 0 _Data EndS _Code Segment Para Public 'Code' SetBorder Macro color mov dx,03dah ; Used for speed test in al,dx nop nop nop mov dx,03c0h mov al,11h+32 out dx,al mov al,color out dx,al EndM Intro Proc Far push ds xor ax,ax push ax ASSUME ds:_DATA mov ax,_DATA mov ds,ax mov ax,0013h int 10h mov dx,03c8h ; Set up palette, black -> red xor al,al out dx,al inc dx mov cx,8 @set_red: mov al,16 ; Some stupid comments sub al,cl shl al,3 ; Multiply al with 4 out dx,al xor al,al ; Xor al with al out dx,al out dx,al loop @set_red ; Loop this 16 times (nah...no more stupid comments) mov cx,16 ; Set red -> yellow @set_yellow: mov al,60 out dx,al mov al,16 sub al,cl shl al,2 out dx,al xor al,al out dx,al loop @set_yellow mov cx,16 ; set yellow -> white @set_white: mov al,60 out dx,al out dx,al mov al,16 sub al,cl shl al,2 out dx,al loop @set_white mov cx,208 ; Set remaing colors to white mov al,63 @whithey: out dx,al out dx,al out dx,al loop @whithey @WaitESC: SetBorder 200 ; Delete the speed test when used in a proggie push ds pop es cld lea di,flames mov si,di add di,64 add si,96 mov cx,61*16 rep movsw ; Scroll the array 1 step up inc di add di,5 mov cx,4 @put_hot_spots: push di push cx push di mov ax,20 ; Get a random x value for hotspot call random pop di add di,ax push di mov ax,190 call random pop di pop cx mov ah,al mov [di],ax ; Set the hotspot pop di loop @put_hot_spots ; Set 4 new hotspots mov word ptr x,1 mov word ptr y,1 @scanning_flames: ; Loop for calculate the new flame array mov di,y ; Interpolate the 8 pixels around the location we wanna calculte a new value for shl di,5 add di,x xor ax,ax xor bx,bx mov bl,flames[di-33] mov al,flames[di-32] add bx,ax mov al,flames[di-31] add bx,ax mov al,flames[di-1] add bx,ax mov al,flames[di+1] add bx,ax mov al,flames[di+31] add bx,ax mov al,flames[di+33] add bx,ax mov al,flames[di+33] add bx,ax shr bx,3 mov new_flames[di],bl ; Save this in the new array inc x cmp word ptr x,32 jb @scanning_flames mov word ptr x,1 inc y cmp word ptr y,64 jb @scanning_flames ; Do it for the whole "map" lea di,flames lea si,new_flames mov cx,64*16 rep movsw ; Move new "map" to old "map" array mov ax,0a000h mov es,ax lea si,flames mov di,320*100+100 mov bx,60 @plot_it: mov cx,16 rep movsw add di,320-32 dec bx jnz @plot_it ; Plot the flames SetBorder 0 ; Delete this speed test mov dx,03dah @bettan: in al,dx test al,8 je @bettan @bettan2: in al,dx test al,8 jne @bettan2 ; Wait for vertical retrace in al,60h cmp al,1 jne @WaitESC ; Wait until the user have pressed ESC mov ax,0003h ; Text mode and Leave the program. int 10h mov ax,4c00h int 21h Intro EndP ;------------------------------------------------------------------------------- RandSeed dd 0 Randomize Proc mov ah,2Ch int 21h mov Word ptr cs:[RandSeed],cx mov Word ptr cs:[RandSeed+2],dx ret Randomize endP ;------------------------------------------------------------------------------- ; In: AX - Range ; Out: AX - Value within 0 through AX-1 ; Destroys: All ?X and ?I registers Random proc mov cx,ax ; save limit mov ax,Word ptr cs:[RandSeed+2] mov bx,Word ptr cs:[RandSeed] mov si,ax mov di,bx mov dl,ah mov ah,al mov al,bh mov bh,bl xor bl,bl rcr dl,1 rcr ax,1 rcr bx,1 add bx,di adc ax,si add bx,62e9h adc ax,3619h mov word ptr cs:[RandSeed],bx mov word ptr cs:[RandSeed+2],ax xor dx,dx div cx mov ax,dx ; return modulus ret Random EndP _Code EndS END Intro
5.10 Dithering
����, ����p���.
���� ������ �p������ ������� (�p���� � �� ���� :) ������ �p��p����: ���� �� ��p������� ������ �p���������� ������, �� ���� ��� ���pp����p����� ��� �������� ��������. � ������������ � Alchemy ������� ������ �p� �p���� � ������ �������. ������� �������� ��� ��������� ��p����:
var ditherError:array [0..maxrowlen*3-1] of integer; procedure initDithering; var i:integer; begin for i:=0 to maxrowlen*3-1 do ditherError[i]:=0; { ������� ������ ��� ������ } end; const errDiffCoef=0.3; { ����������� p���p���p������ ������ } procedure ditherTrueColor(var arr;len:integer); var tcPixels:array [0..maxrowlen*3-1] of byte absolute arr; { Pascal, ��������! ^^^^^^^^^^^^} { ������, ���� �� ����� ������ p��������� } r,g,b, { ���� } i, { ������ } pixc:integer; { ���� ����� } begin for i:=0 to len-1 do begin r:=tcPixels[i*3]; { ����� ���������� } g:=tcPixels[i*3+1]; b:=tcPixels[i*3+2]; r:=r+ditherError[i*3]; { �������� �������� (���p�� � �����) } g:=g+ditherError[i*3+1]; b:=b+ditherError[i*3+2]; pixc:=findClosest(r,g,b); { ������ ���������� � �����p�(��. ����) } r:=r-outPalette[pixc*3]; { �������� �� ��p������� �������� �p����������} g:=g-outPalette[pixc*3+1]; b:=b-outPalette[pixc*3+1]; r:=round(r*errDiffCoef); { ����� ����� ������������ fixed point } g:=round(g*errDiffCoef); { ��� � Alchemy (��� 12.4) } b:=round(b*errDiffCoef); inc(ditherError[i*3],r); { ��pp����p��� ������ ��� ������� ����� } inc(ditherError[i*3+1],g); inc(ditherError[i*3+2],b); inc(ditherError[(i+1)*3],r); { ����� ����� ������� Inc(), ����� } inc(ditherError[(i+1)*3+1],g); { ������ �� p���p���p�������, ������� } inc(ditherError[(i+1)*3+2],b); { p��������� ���������� } tcPixels[i]:=pixc; end; end;
Alchemy (� � ����� �� ���) ��p��� ����������� �����p� ��� ����p����. ��p����� ��� ����� �p����:
const maxR=6; { �������� 0..maxR - ����� maxR ������� } maxG=8; maxB=3; maxColor=63; { ��� VGA �����p� } var outPalette:array [0..255*3-1] of byte; procedure makePalette; var rc,gc,bc, r,g,b,i:integer; begin for i:=0 to 255*3-1 do outPalette[i]:=0; i:=0; for rc:=0 to maxR do begin b:=round(bc*maxColor/maxR); for gc:=0 to maxG do begin g:=round(gc*maxColor/maxG); for bc:=0 to maxB do begin b:=round(bc*maxColor/maxB); outPalette[i*3]:=r; outPalette[i*3+1]:=g; outPalette[i*3+2]:=b; inc(i); end; end; end; end;
����� findClosest �������� ��������� ��p����:
function findClosest(r,g,b:integer):integer; begin findClosest:=round(r*maxR/maxColor)*(maxG+1)*(maxB+1)+ round(g*maxG/maxColor)*(maxB+1)+ round(b*maxB/maxColor); end;
��� � ����� ��� �p����! �p���� - �p���. � ���� ���������� ������ �p���� p���������, ������� � ��������� ������� �������� ������. H��p���p, �� 5 ��� �� ������ ���� - 32K. H� ��� �� � �����, � ����� � ������. H� ��� �� �� ���� �����p����.
5.11. Sine generator
; sine & cosine generator by Karl/Nooon (40 byte version? Never seen one) ; optimized to 41 bytes by Beeblebrox/TMA ; 256 degrees, 8.24 fixed point .386 a segment byte public use16 assume cs:a, ds:a org 100h start: ;-----------------------------8<------------------------------------ ; sin(x0+2*a) = 2*cos(a)*sin(x0+a)-sin(x0), a=2*pi/256 mov di,offset sintable xor eax,eax stosd mov eax,64855h ; sin(2*pi/256) stosd mov ebp,0FFEC42h ; cos(a) mov cx,64+256-2 s0: imul ebp ; cos(a)*sin(x0+a) shrd eax,edx,24-1 ; 2*cos(a)*sin(x0+a) sub eax,[di-8] ; 2*cos(a)*sin(x0+a)-sin(x0) stosd ; sin(x0+2*a) loop s0 ;-----------------------------8<------------------------------------ retn sintable dd 64 dup(?) costable dd 256 dup(?) a ends end start
����� ������, ��� ������� 16 ��� �� ����������� ������ - ������ ������������ ��, � ��� - � ��� ������
5.12. ����p�� ���������� SQRT
��� �������� �p� ������� ����p��� ���������� Sqrt:
demonstration of this we`ll leave as a exercice to the reader :-)
��� ��� ������� ��� ����p��:
��������� �� ������� �p��p����� � ������ p����p����� ���� � ��������������� ����������� ���p����. H��p���p:
mov ebx,Number mov ecx,218 ; ��������� ���p��������� @@1: mov eax,ebx cdq div ecx ; A/X(n) add eax,ecx ; X(n) + A/X(n) shr eax,1 ; (X(n) + A/X(n))/2 mov ecx,eax mov eax,ebx cdq div ecx add eax,ecx shr eax,1 [�.�.�.]
� ����� �� � AX ����� ����p����� ��p���. ������ � AX � �� � EAX? ������ ��� Sqrt(0..2^32 - 1) = 0..2^16-1.
�������� ��� ��� ������� ����� ���p��� �������� ��� - ������� ��� ��p��� (�.�. A=1 ��� A=2) ��p��� ����� `���������` ����� �������� mov ax,1. H� ����� �������� � � ��� ��� A ����� ���� p���� 0 - � ����� ������ ������� bsr ���������� ���� ZF � ����� �� ���� ������ p�����������. �.�. ������ �p�����p� ������ ��������� �p���p�� ���:
iSqrt proc ; H� ����� - EAX = ����� bsr ebx,eax jz @@noBits shl bx,1 jmp @@jumpTable[bx] @@jumpTable: dw offset @@bit0,offset @@bit1, offset @@bit2, ..., offset @@bit31 ; ��p�������� ������: @@bit0: @@bit1: mov ax,1 @@noBits: ret ; ��� EAX=4..7 @@bit2: mov ax,2 ret ; ��� EAX=8..15 @@bit3: mov ax,3 ret ; ��� EAX=16..31 @@bit4: mov ecx,5 cdq div ecx add eax,ecx shr eax,1 ret ; ��� EAX=32..63 @@bit5: mov ecx,(5+8)/2 cdq div ecx add eax,ecx shr eax,1 ret ; ��� EAX=64..128 @@bit6: mov ecx,(8+11)/2 cdq div ecx add eax,ecx shr eax,1 ret [...] ; ��� EAX=32768..65535; ��� ��� ���������� ��� ����� (����� :-) @@bit15: mov ecx,(181+256)/2 mov ebx,eax cdq div ecx add eax,ecx shr eax,1 mov ecx,eax mov eax,ebx cdq div ecx add eax,ecx shr eax,1 ret [��� ���]
function iSqrt(Val : Longint) : Word; var root,bitSqr : Longint; begin bitSqr := $40000000; root := 0; While bitSqr <> 0 do begin if Val >= bitSqr + root then begin Dec(Val, bitSqr + root); root := (root shr 1) or bitSqr; end else root := root shr 1; bitSqr := bitSqr shr 2; end; iSqrt := Root; end;
��������p������� ������� ��p����:
Function iSqrt(x : Longint) : Word; assembler; asm db $66;mov cx,x.Word db $66;xor ax,ax db $66;mov bx,$0000; dw $4000 @@LP1: db $66;mov dx,cx {edx = val} db $66;sub dx,bx {val - bitsqr} jc @@LP2 db $66;sub dx,ax {val - root} jc @@LP2 db $66;mov cx,dx {val >= (root+bitsqr) -> accept subs} db $66;shr ax,1 {root >> 1} db $66;or ax,bx {root | bitsqr} db $66;shr bx,2 {bitsqr>>2} jnz @@LP1 jmp @@LocEx @@LP2: db $66;shr ax,1 {val < (root+bitsqr) -> dont change val} db $66;shr bx,2 {bitsqr>>2} jnz @@LP1 @@LocEx: end;
�p������� ��� ���-�� � D.D.UUE �p�����p�� ���������� Sqrt ( ������� �� AZ ).. ������p�� � �� ���, �������... � ������� ��� ���� ;) ������������� ���p������� - 0.05%, � ���p���� �� 70% ����...
��������� �� � TESTSQRT � ������� �� ����� ������ ����� (486SL/25) ����� p���������:
Timing Sqrt 3304.0 square root per second ...... iSqrt 46170.0 ....newtonSqrt 59047.0 >... FastSqrt 95354.5 !!!
���� ���������� - ����� ��������� precomputation � 2 ���� ������....
=== Cut === {****************************************************************************} {* Fast Square root subroutine *} {****************************************************************************} {* Copyright (c) VAY, 1995 All Rights Reserved ;) *} {****************************************************************************} type STable = array[0..1023] of Word; var SqrtTable: ^STable; i: Word; function FastSqrt( S: LongInt ): Word; assembler; asm db 66h; xor si, si { xor esi, esi } les si, dword ptr SqrtTable db 66h; mov bx, word ptr S { mov ebx, S } mov dx, 11 db 66h, 0Fh, 0BDh, 0CBh { bsr ecx, ebx } sub cx, 9; jle @less shr cx, 1 adc cx, 0 sub dx, cx shl cx, 1 db 66h; shr bx, cl { shr ebx, cl } @less: db 26h, 67h, 8Bh, 04h, 5Eh { mov ax, es:[esi+ebx*2] } mov cx, dx shr ax, cl end; begin New( SqrtTable ); for i:=0 to 1023 do SqrtTable^[i]:=Round(Sqrt(i)*2048); end.
5.13. ����p��������
H������ ����p��... ���p��� � ��������� ��� ���� �p������� ��������� ������� �����, ����� �������� ���� FireWork �� Pentium 100 � Cirrus Logic. ��� � ����� ��� ���p���� - ��� ��p���, �� �� �� ����� �� ������� ! ��� ��p������ ��� �������, ����� ����� ����p��, ��� � ��� �p������� ��p��� ��p���� � �.�. �� ��� � p���������� - ������ ���� ������p���.. ;)
��� ����p�������� ����� ������������ �����p. �� '������' � �������� TimerFreq = 1193182 ��. ����� ����� ��� ���������� ��� ����� �����... � ��� ���� ������� GetTime, ����p�� ����p����� ������� �p��� � '�����'. !) ������� GetTime � ��� ����, � ������� ��� �������� ����, �������� �� ������ ���������. ���� �� � ������� ��� ��� '������� �����'...
�p���������, ��� �� ����� ����p����� ����� 3D-�����, ��������� �� ������������ ���������� �������� (������-�� ������ ����p���� ����� �p������� ��� ����� ����, �� ��� �p���p� ��� ������ ;)
�������� ����p����� ���� �������� Vector-Demo �������� ��������� ��p����:
WHILE NOT( ����� ������� ) AND NOT ( ����� ���� ) DO BEGIN
������ �������� ��������
������������ (�p�p������) �����
END;
� �p������ ��������� ����p������� �p� ������� ����p��������:
StartTime := GetTime; WHILE (....) DO BEGIN Cube.Center.Z := Speed * ( GetTime - StartTime ) + Start; {^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^������� �� �p�����} Cube.Draw; END;
�������� ���������� ����� ������: ���� ��������� �������� �������� � �������� ������� ���, ���p���p, ����p��� �����p �����������, �� ��p������� ����� ������� ���H�_�����, � � ����������� ������� ����������. �����: SUXX !
Time:=0; WHILE (....) DO BEGIN T := GetTime; INC( Cube.Center.Z, Dist * Time div TimerFreq ); {������� �� �p�����} Cube.Draw; Time := GetTime - T; END;
��������, ���� ����� ����� ������, �� ��� �� ����������� �� ����������� ��������� ����������.
������ ������� FPS ( Frames Per Second ) - ������� ���������� ����p������.
����� �� ����� ���p���� 40 CPS (���������� ��� ����������� ���).
����� �p�������� �p���p ����� ��������� ��������� ��p����:
CONST MyCPS = 40; PROCEDURE Count; FAR; BEGIN {������� � ���� ����� ���, ��� ��� ������� ;)} END; PROCEDURE Draw; FAR; BEGIN Cube.Draw; END; StartTiming( MyCPS ); { ������� ���� ���������� CPS ! } WHILE (....) DO Timing( Count, Draw );
OOOOOPS !!!!
�������� � ������� ����������� � ������� ����� ������ �� ���� �p�������� � ���, ��� �p�����p� Count ����� ������ ��� ��� ������, ���� �� ����� � �p����� !!! ����������� p������...
����� ����, ������ ��� ������ ����� �� ��������� ��� ���, � � � �� ����� ����� �������...
����p� �����p����� �� ������������� ������� Timing:
� ������ Count � Draw:
� Count �������� �� ��������, �� ������� ������������� ������� ��������� ������ ��������.
� Draw ��������� - ��� �������� ��������, �������������� ��������� ��� ����� ��������, ������ � �������� ������� � �.�.
������� ����p����� p�������� ���������� ����, ����p�� ���������� �p���������� ���p������ CPS. �������, ��� ���� p����� ���� ����������, �� ��� ������� �� ����� ��������� ��� ������� ���, ���p���p, 30 p�� � ������� ;)
CPS p������������ ����p��� �� ����� 40, �.�. � ������ ������ FPS = CPS, � ����� 30 ���p�� � ������� ������������ ���� �� ����p�������...
����, ��� ���������� ��������, 60 FPS ���-���� ��������� ����� ��� 30...
���� �� ����������� �����-������ music player, �� ����p���� ��p��p��p����p��� 0-� ����� �����p�. ����� �p������ ��p������� GetTime...
�p��� ����, � �� ����, ��� �� player'� ����p����� ��p������� ���p��� ��p�������� INT 8, ��� ���������� ��� �����p�������� ��������� ������ 0000:046C. ���� �����-�� player ����� �� ������ - ����� �� ����������� ��� - ���� �� INT 8 ��� ����� �����, ������� �p����p� � ��� ��p� ����� ���...
���� �� ������� ShadeBobs ��� ���-�� ��������, p�������� �p������ ������ � �p�����p� Count. H������, ������� ������ ?
������, � ����� ������ ����� ����� �p��������� � DOOM'�. ��� CPS = 35. ��� ������������� ������� �� ����, ��� ��� �� ������ Count �p�������� 4 ����� � LMP, � ���� �������� ��� ����� �� 4, � ����� �� �p��� ������... ����� �� ����������.
=������= unit Syncro; interface const TimerFreq=1193182; {������� �����p�} type Proc = Procedure; function GetTime: LongInt; { ��������� �������� �p����� } procedure Wait( N: LongInt ); { ����p��� �� N ����� } procedure StartTiming( NCounts: Word ); { ��������� ��������� CPS } function Timing( Count, Draw: Proc ): Boolean; { ������� ����p�������� } { ^^^^^^^^^^^ ��������������, �p�����p� p������ � �p�p������ } var CPS, {������������� CPS } NCount, {���������� p������� } NDraw: LongInt; {���������� �p�p������ } implementation var { t - ��� ����� (������) } tCount, { t ���������� p������ } tDraw, { t ��������� �p�p������ } tFrame, { ����� t �� p����� } tRest, { ������� t } tFree: LongInt; { ������� t } function GetTime; assembler; asm cli; mov dx,20h {�� �����p� ������ ������� �����} mov al,0Ah; out dx,al mov al,00h; out 43h,al in al,dx; mov di,ax in al,40h; mov bl,al in al,40h; mov bh,al not bx; in al,21h; mov si,ax mov al,0FFh; out 21h,al mov es, Seg0040 {40h} {�� 0000:046C ������ ���p��� �����} mov dx,es:[6Ch]; mov ax,si out 21h,al; sti; mov ax,di test al,01h; jz @done cmp bx,0FFh; ja @done inc dx; @done: mov ax,bx end; procedure Wait; var T: LongInt; begin T:=GetTime+N; while GetTime<T do; end; procedure StartTiming; begin CPS:=NCounts; tRest:=0; tDraw:=0; NCount:=0; NDraw:=0; tFrame:=TimerFreq div CPS; { ����� �� p����� } end; function Timing; var Tmp: LongInt; begin tCount:=GetTime; Count; Inc( NCount ); { �������, ����p�� �p��� p������.. } Tmp:=GetTime; tCount:=Tmp-tCount; Inc( tRest, tFrame-tCount ); { ����������� ��������� �p���.. } if tRest>=tDraw then begin { ���� ���������� �p����� - p����� } Draw; Inc( NDraw ); { ����p��� �p��� �p�p������... } tDraw:=GetTime-Tmp; tFree:=tFrame-tCount-tDraw; if tFree>0 then begin Wait( tFree ); { ���� ������� ����p�� ������ - } Dec( tRest, tFree ); { ������� �p��� ;)) } end; Dec( tRest, tDraw ); end; Timing:=tCount<tFrame; {�p���p��� �p���������� ������� CPS} end; begin asm mov al, 34h; out 43h, al { ��������� p����� ������ �����p� } xor al, al; out 40h, al {�� ����� �p����� ����� �� �p�������} out 40h, al { ������ - �� ���� :(... } end; end.
====���������� �� Andrew Zabolotny===
AV> 3) ������ �p����, ��� ���� ������� ;)
����p�����p��� ������� p������� - CPS ( Counts Per Second ), � �p�p��������� �����, ����� �������� ��������� �p���. ��p���, ����p��� ������� - �� ��p���, ��� ��� ���������� ;)� ����� (?) show3d � ����� ���:
procedure startFrame; begin frameStartTime := vrCount; end; procedure finishFrame; begin frameSpeed := frameStartTime - vrCount; While frameStartTime = vrCount do ; Inc(frameSpeed, byte(frameSped = 0)); {��� ��p����p ����p�� �����} end; [...] frameSpeed := 1; repeat startFrame; for Count := 1 to frameSpeed do begin {����� ������� ������� � ������ ���p�����} end; draw3Dobjects; finishFrame; until [...]
5.14. Voxel'��� �������.
0. ����y���������.
���, ��� �������� y����� ����, ����� ������������� ����y���������� ������������ � �������� ������ �y���� �������� ������ ������� ������, ���������� ���� �� ����� ���������� ���������� ��������. ����� ������ �������� ������� �������� � ��y������� ������������. �����y �� ����� ������ �������y�� � ����� �����. ������������, ��� � ���y ������������, ���� ��� ���������� ��������� ������������ - ���������� � ����y���� ����� - Mike Shirobokov � Serguey Zefirov. (���������� � ���, ��� ������ ��� ���y� ����������, y ������ ���). ����������, ����y�� � ���������� ���������� � �������y ���y���� � ���� ����y ������������ ������������ ������ � ������������� �� ��������������.
1. ��������.
--------------------------------------------------------------� � � � -� � ----� � - ---- -� � ---_ --T-- ---\ ---- --� � \ -----\ --- (0OO)===-* -----\_---- ----� � - ------ \_ -----\ ' ` ------ ------� � - _ _ ----- ----- \ ------ ------- -� � -------- -- \ ------- ------------- --� � ------- -- --\ ----------- ------------ ---� � ___ -- ----\ --- \ ------- ---------- -----� � -----\ -- ---- \___--- --\ ---- -------- _--------� � ----- \------- - ---- \ --------- ---------- � � --- __ ----- \ -------- --------- � � -- __--- \_ ------ --------- -------- � � ____-------- --------- --------- -------- � � --------- ____------------- --------- � L--------------------------------------------------------------
��������, ������ ������ ���y Comanche Maximum Overkill, ��� ����� y�������� �������� RAH-66. ��� ���� �� �������� "����������" ���y������� - � ��� �������y���� ��������� ���� �������, ��� � ��y��� ����� ��������� ����. ��� �������� � ���y, ��� ������ �������, ��� ���� ����� Nova Logic ������ ������������������ ���y �� ������ �������� ���y�����, �, ������, ���� ���������� � 3d �������. � ���������, �������� ���������� ������ ������� �������y���� � �����, � ���� ����� y�� �������� � �����. ����y���� ����� ���� Mars. ��� - �� ����, �� �� ����� �����, ��� �� ����� ������� ���y, � ����� �� ����y. H� �������� � ���y������ ����������. �����y Mars ��� �y��������� �y���� �������� �������� ���������� �������? ��� ������ ���� �� ������y���� ������������. � �����, �����y�, ����������� ������� ����� �������� ���������� � Magic Carpet'�. � ���, ��� ��������� ���, ����� ����� y����� �� ���� ������.
2. �������. ���������� �������.
Voxel - ����������� ����� �� Volume pixel - ��-�y���� ���������� "�������� �����". ��� ������ �������� �y�� ���� - ���������������� �����, � ������� �� ��������������, ����� ���y����� �����. � ��������� ����������� ����� �������, ��� ������� - ��� �y��� ���������� ������, ������� ���������� ������� ����� ������. ����� ���y� ���� ����������, ��������� �������. H�, ������ ������, ����y �y���� ������� ����� ����� �� ������. ��� ����� ���� � �����, � ��������, � ����� � ������ ���y�� ������������ ������.
��� ����� ������������� (���y����, ��� �� ������� ������ �� �y�����) ��������� ������ �������� ������ - ������ ������ ������ ������y�� �������� �������, ����������� ���������. ����������. �������, � ������y, ������ 100x100x100 �����, � ���������� ���������� ����� ������ ����� �������� � ��������� �� 0 �� 255 ������������. ����� ������, ��� �� ��� ������y���� 1.000.000 ����. ��� �����-����� ����������� �� ����������� ���� ������� ������ 4�� �� ������ ���� �� 4 (������) �������. � ��� - ��������, �����y� ���� ���-�� ������, ��� ����������� �� ����, y������ �� ����y���� ������� ������ ���y�������� ��������.
� ����� ��y����, ����� ������ ������ � ����� ���� ������� ��y������, ������ ��y� ���������� ������� ��y���.
--------------------------------------------------------------� � � � � � 464222347886422467422246446 ���� ��� �� ������� ������. � � Q _____________________________ � � --- - 6 � � - ----- -- - - 4 ��� ������ ���� ����y � � --- ------- ---- ----- 2 � � P _---------------------------_0 � � |��������������������������| | � � _------------------------------------------------------_ � � ------------------------------------------------------ � � ------------------------------------------------------ � � ------------------------------------------------------ � � _------------------------------------------------------_ � � | |<----------������-------->| � � ������� ������. ��� �����y. � � � L--------------------------------------------------------------
� �������� ������ �� ����� ��������� �������� �������� ���y�������� ���������� ��������, ��� ������� �������y���� ����y���� y������: ������� ��������� ������������ �����, ������� �������� �� ��y� �� ���� ���������. ��y���� �������, ��� �������� ����y���� - ������� ����������� �����, ������� ��������� ��y�� ������������� ����������� (������� ��� ��������� P � Q), ��� �������, ���������, � ���� ����� ������� �� ������������ ����� ����������������, ������ ������� ����� ���������� ����y ��������������� �����������, ������ ��� ��������������� ���������� ��������� ���� ��y���y. ������� ������, ������� � ���y, ��� y ��� ���� �����-�� ������� (��������� P), ����������y���� ������� �������������� � ����� (�.�. ������� ����������� �������) � ����� (��������� Q), ����������� �� ������������� ������ � �����������, ��� ����� ������������� ��������. ������ y������, ������� ������������� �� ������� �����, ����������� ��y��� ����� ��������� ������ (��� ��������������� - �� ������y �����������): ��� ������ �����, ���������y������ �������������� ��������� (����� ������, ��� ������ "�����������" ����� - ����y� "������y" �����������) �y�����y�� ����� (��������������, �.�. 0-�� ������, �� ���y ������y �� ������� (� ������y "�����") ����� �������, ���������� � �����-�� ����, ������������� ��� ������ �����, � �� ��y�y� ������y (� ������y "����") - ���������� �������. ����� �������, ��� ���������� �����������.
����� ����������� ��������� y������� � ��� �� ����� ������ ���������� � ������� ������� ���������� ��������. ����������, ��� ����� ������ ������, y�������������� ���� y�������. ��� ����� "������������" ����� ��������� ������ ���� ���� ��������, ������� �������� ���������� ��� ����� �����, � ������������ "����� �������". ����� �������, �� �������� � ���� � �������� ��y� ��y������ �������� - ��� ����� � ������. � �����-��, ����� y�� ����������� � ��������� ���� ����� ������������ - ��� �������������� �����, �� ������� ������ �������� �������y���� ������ �����.
����� �������� ����� ������ �����������, �� ������� ����� �������� ���� � ����� �������, � ������� ��� ����������� � "������������" ������ ���� ���� ���� ���y ����y (������������ � ��� ���� � ����� �����). �����y ����������� ������ �����������y�� ��������� (�� � ��y���) �������.
3. ������������ ��������.
����� ������������ ����, ��� ����� ���������� ������� � ��� ��� ��������, ���������� ����� ����������� ������ �� ���y��������. ������������ ������ - ��� ���, ������� ��� ��������� � ���� Comanche �������������� ����� Nova Logic.
��� �������y���� ������������ ����������� ����������� �������, �.�. �����, ��� ���� ������� ����: ��� ����� - ������ � ����� (�������, �������� ��� ���� ��� ��y��� �����, � ���y��� ������ - ���y����������) � ��� �������� ���������� �y���.
��� ����, ����� ���y���� ����������� �� ������, �����y���� ����y����� ������: �������, ��� y�������, ��� �����, ������������ �������� ���������� ���y������, �������� �����. ���� �����������, ��� � �����, ��������� � �����-�� ����� ����� "��������� ����". ����������� �� ������ ���� ����������� �������� ����������� ������� �� ��������� ������, � ��� ���y����� ����� ����� �� ������ ���������� ������� �y�, ��������� �� ����� � �������������� �� ��������������� �����, �� ����������� � �����-���� ������������ ��������. ���� ��������� ������� � �y��� ������� ������.
��� ���� ��������� ������ ��������, ��������� � ������������� ������������� ����������� ����������� � y�����y��� ���� - ������������� ��������������. ����� ���������� ������ ���������� �����������.
�������� ����y���� ����������� �� ������������ ������ � "�������� ����" � ��� ����� �����, ������� ������������ ����� ����������y� ����� �� ���������������� ������ (�.�. �� � "�������� ����") - �y��� �������� ����� ����� � ���������� ������������� ����-������� - �������� ���y��������, ������������� � ������� � ������ ���� �������. ��y���� �������, ��� ��������, ��� ���������� ����������� ������������� ����� (� "�������� ����") ����� ���� ��������� ����y� �����-���� �� "������������" ����� ��� ����������� ������-����� (�� �� � ���). � ���������� �y��� ����������� ��������� ���������, ��� ��� y������ �y�y� ���������� �� �� �����, � ���� �� ���������, � ������� �� ���������.
������ � ���, ��� ���� ����� �����������. ����������, ��� ���������� ��� ���y�������� ����� ������������ ����-����� �� ������ �� ����� � ������� (��� ���� ��� ������ �������� �y��� �������, ��� ������ ����� ������������ ����-����� �� ������ �������� ������� � �� ������ ���� ����-����� � "�������� ����", � ��������� ��y��� ����� �������� ������� "����" � "���" � �������� �����������. ����, ������� �������������� ������ �����. ��� �������������� �� ������ ���������, �.�. ��������� ����������� �y�� ����-����� ������ ����� � "��������_����" � ��������� "���y����" ��������. H� ��� ��������� ��������� ����� �������y���� �����������, ������� �������� �� ��������� ������ � "�������� ����" � �� ������� �������. ���������� �������� ����� ����������� �y���, ������������ ������ � ������ �� �����, ������������� ��������������� ������������ ����-����� � ��������� �������������� � ����� y��������. ����� ������, ��� ��� ��� �������� ����� �� ����� ������. ������ ��� ���� ������������� ����� � ������������ ����-�����, ��� ������ �� �������� ����� ������������� �������� ����� ����������� ������� � �y��, ������������� ������ � ��������������� ������ ����������� ����-�����. ��� ��������� ������������ ����y���� ��������:
��� ������ ������������ �����
� ���������� ���������� "���y���" ����� ������� ����������� �����.
� ���������� "��������� ���������y�" ����y �� ���y ���� ����� ������
� ...����� ������������ ����-�����. (���������� ����������)
� ����� ������ �� ����� � ����y, ������� ����������y�� ������ �����
� ...��������� � "�������� ����". H������ ���� ������ "�������� �������".
� ������� "������y��y� ���������y" - ��� �� �� ��y� ��������������
� ...���������, ���������� "������� �������" �� ������� ������.
� H������������ ���� ������. (�������� ����y� �� ��� ��������� ��
� ...����y ������ �������)
� ��������� ���y������ ������ �� ��������y, ������� �y��� ����������
� ...�����������. (��� ������ ���������, ��� ���� �����������).
� ...�y�� ������ ���� ���y������ ������ �y��� "�������� �������".
� ��������� ���� ("��������� �����������" ����� ���� ����� �������
� ...����� ������������ ����-�����) � ������������ (���� �� ����������
� ...������� ����� ���).
� � ���� ���������� ������ "���y���" ����� ������, ��� ��������, ��������
� � ...����� �����, ����������y����� �������� "���y���" ����� ��
� � ������������y� ���������,
� � ��:
� � � �������������� ����y, �������������� ���������� ������� �������
� � � ...����������� "���y���" �����, � ���������� ������ ����� ��������,
� � � ...������ �� ����� ������ �� �����. (�� ����, ��� ���� ������� ����,
� � � ...����y��, ��� ��� �������� ������� �� �������������y� ����������y�
� � � ...����-�����). ���������� ���������� "���y���" ����� �������
� � � ...����������� ��������y���� �����.
� � � ��������� �� ������ ����� �� "��������� �����������" �� ��������� ��
� � � ...������y��� ���� ������, ������ �� �������� ����� ������,
� � � ...����������y����� �������� "���y���" ����� �� ������������y� ���������,
� � � ...� ������� ���������� "��������� �����������" ����� ������� �����������
� � � ...���� ����� (�.�. ��������� �� ������y��� ����)
� � � ����������� ���������y ������ "������� �������" - ��� ���� �������� �����
� � � ..."���y���" ����� � �����, ����������� �� ���������y "������� �������"
� � � ...�� "������y���� ����������" � ���������� �� �������� "������y����
� � � ...���������" "���y���" ����� � �����.
� � ����� y������.
� � ��������� �� ���� ����������� "���y���" ����� ��� ���������� "�������
� � ...�������".
� ����� ��y�������� �����.
����� �������� �����.
����������, ��� �������� ������� �������������� ��� ������������� ������������� ��������� ��� ���������� ���������� ��������. ����������� ������ ����� ����� �������������� ��y������� �����. � ������ ��y��� ��� ���� ������ ����� �� ���� (������ � �����), �����y� ���������� ���������� �� ������. ������ ���� ���� � ����y�� ���������������, � ���������, �������y��.
H��������� ������� ������ � ���, ��� ���� ��� ������������� ���� ����������� ���y������� ������� (����������� ������������� ��������������������� ������������ ���������������� ���) ������ ������� ��������� �������.
4. �������� �������������.
��� ������ � ���������� ����������� �� ������ ��y���� y����� y�y����� �������� � ��������� ��� ������ ������������� �������������. ����� �������, ��y�������� �������������, ��� y���������� ����, � ��������������� ��y��� �� ��� �������� ��������. ��������y���� �������� ��������������. � �����-��, ����� ������y���� � �� ����� ������� �������, �� ��� y�� ������� �� ������� ������ ������.
� Mars'� ������������� �������y���� ����y � ��y� ������. ��-������, ��� ����������� ��� ������ "���������" - ��� ����� �� ���������� ����, � ������ ����������� �� ���������� - � ������y��� ����� - � �������� - � ���y��� �����. � ��-������, ��� ����������� ������ � ����� �����, ���� ���������� ����� �������.
������ ������, �����y ����� ����� ���������� ������ ���� ������� �������� ������ ���� ����������, � ��y��� - �����. ��� ���������� ����� "������ �������" ��������y�� �� �� �����, ��� ��� ���� ������� � ������y��� �y����, � �� ���y�� ����� �� ���������, ������ �� ��� �� ���������, �������� ������� �� ���y�� ������, ��� ��� ���� �� ��������� ���y������� ������� ����� +1 ��� -1, � ������ �� ���y�� ������ �������. � ����������� ����� ����������� ������, ���y������ ����������� ���y������� ������� ������� �� �����y� ����� ������� ����� �� ��� �� ���������, ������� ���� ������� ������y����. ����� �������, ���y������ ��������� ����� � �� ������� ���� ����� ����� �����������, � ��� ������� ������� � ��� ����������� "������� �������".
--------------------------------------------------------------� � H � � ------H11--------------H12--------------H13------- � � -- � � - � � ------H21--------------H22--------------H23------- � � - � � -- � � ------H31--------------H32--------------H33------- � � -- � � - � � ------H41--------------H42--------------H43------- � � - � � -- � � ------H51--------------H52--------------H53------- � � Y -- � � . - � � � ------H61-------------�H62--------------H63------- � � L----.X E � L--------------------------------------------------------------
����� ������ H ����������� �� ����y���� ����y��:
H = H11 + (X - X11) * (H12 - H11) / (X12 - X11)
[..to be continued?..]
5.15. BSP trees
BSP trees, stands for [B]inary [S]pace [P]artitioning trees. ��p���� �p���������� BSP ��p���� � 3D �p�����, ��������� � ����, ���� �p��p������� �� �������������� ��p�� LucasFilm (����� ��� LucasFilm). ���� ��� ���� ���� � `84�. �p������� ��� BSP ��p���� ��� ����p���� 3D-����p������ ��� �p�������������� flight-simulator`��.
��� ����� BSP-��p���� ����� �p������ � �p����� ���� `��������� �p��p����p������` �����, � p������ �p� ��p��p����. ����� �� � ������ ���� ����p����� �p�������� BSP-��p����� � 3D-�p�����.
BSP ��p��� (����p���� � ������ �������� �p�����) - ��� � �������� ����� ��p����p� ������ ����p�� ������ ����p���� ���� p�� ��� ������p��� 3D ������� ��������� ����� ��� ������ ���p�� �p����� ��p��p����� �� ����������� ����p������ ����� 3D ������� �p� p������p���� ��� � p����� ����� �p����. �� �� ����� ���� �� ���� ��������� �� ������������ � ���������� ��p���� :-) ��p��� ��p����� ��������� ��p����: ������������ p���p������ ����p���.
:H�����
����p����� ��������� � "��p�����" �������. ��� "��p������" � ���p�������� �� ��� ������� �p���p�� ���������� ���������� ���������� ��� � ����� �� ���p��� ��� � � �p����. ��������� ����p�� ��p������� ���p����� p���������� �� ��� - ���� `��p���` � �p���� `�����`. ��������� ����� ���� ��������� ��p���. ����p� ����� ����p����� :-) ��� ��������� ����p�� `��p���` �p����p����� � ���� ���������, � ��� ����p�� `�����` - � �p����. ����� ����p��� ���������� p���p����� ��� ���� ���� �����������, � p�������p����� ��� ��p���� ������������ � ������� ���� ��� ��p���� ��p��� ����p�� `��p���` � ��p��� ����p�� `�����`.
��� ������ `��p�����` ������� (����?) �� ������� �p����� ����p���� �p��� ��� ������� ��p���p�.
��� ������������ ���� ��p����? �p��������� ��� ��� ����� ��p������� �p��-��p��� ����� ��������� �� ������ ��������� ��p���. ����� ��p��� ���� ��������� ��p����:
H������� � ��p�� ��p���. ���� �� ��������� `��p���` �� ��������� ����p�� ��������� � ������� ���� �� ������� ��� ��� �� ��� ��������� `�����` �� ���� ��������� ��������� ������, � �� ��� `��p���` - ����� ��� ��� ���������. ������ ��� ��p�������� ��������� � ��� ��������� �� �������� ��� p�� ����p��� p���p����� ��� ��p���� �����p��� ����p�� `��p���`. � ��� �����p����� ���� �� ������ �� ����� ��p���� � ����p�� ��� `�p�����` �����p���. ��� ��������� � ���� ������������. ������� �� ������ � ������� ��p��������� ������. �������� ��������� ����� �������. ���� ���� `�����` �����p���� �� ������� p���p����� �p�����p� ��� ���.
�p��������� � ��� ���� ������������� ������p��� ����� (��� � DOOM`�):
A ------------------- | C| | -------------- B
����� A,B,C - �����, ��� ���p��.
����p��� ��� ��� BSP ��p���. ������� �� `�p�����` ����� C. ��� ����� ����� A � B �� A1,A2 � B1,B2 ��������������:
A1 A2 ------+------------ | | C * O | ------+------- B1 B2
BSP ��p��� ��� ����� `�������` ����� ��������� ���p��p ���:
C / \ A1 A2 / \ / \ B1 B2
�p���p��� ����p��� ������ ������ ��p��� ���� �� ��������� � ����� O:
C->A2->B2(B2)->A2(A2)->C(C)->A1->B1(B1)->A1(A1)->C
�� ��� � �p����� ������� �������� `�������� � ������� ��p��������� ������` :-) ����� ��p���� ����� ������:
B2 A2 C B1 A1
� ���� �� ��p����� ����� � ��p����� ��p���� �� ������� ������ �����. ������� �p���p ������ ��p������� �� ���� ������� ������� :-)
5.16. �������� True/Hi color
True Color Emulation AKA `fake truecolor` ��� �������� ����� ��� 256 ������ � 256-������� p������. �p���� � ������� �� ���������� `truecolor` �����p����� ������ 256 ����� (256*1024) ������ ������ ��� ��� ����������� ��p�������� VGA �����p� � ����� ��� �� �������� ���������� (R,G,B �������� ������ ������ - ������������� ����. ���-�� ������ �� VGA = 2^6*2^6*2^6 = 2^18). ��� ���������� ����� ��������� � ���� ���� ��� �p����������� p����� ������:
---T--T--T--T--T--T--T... �r0�r1�r2�r3�r4�r5�r6�... �g0�g1�g2�g3�g4�g5�g6�... �b0�b1�b2�b3�b4�b5�b6�... L--+--+--+--+--+--+--+...
����� p������ ��p������� "����������" �������. �� ���� ����� ��p������� ������ �� `����������` ���p������� (5,9) � R=10, G=63, B=5 � �p���� �������:
PutPixel(5, 9*3+0, 10 + 64*0);
PutPixel(5, 9*3+1, 63 + 64*1);
PutPixel(5, 9*3+2, 05 + 64*2);
���� p������p����� ����� ��p����� � �������� p��������� ��� p���������� �� ��������� ��p����������� ����� �� ������ ����p���� �p�������. H��������� ����� ������ - � �p� p��� ������ p��p������ �� ��p������, �� ���� ������ p����� 320x240x256 ����� 320x80x256K. �p���� �� VGA ����� `�������` ��� �p����� ��p��������� p��p������ ��� ���� 320x160x256K ��� ��� �p�������.
�������� ����� "���p��" ������ ���p������ p�����������, ���p���p �����:
------T--T-----T--T �r0 g0�b1�r2 g2�b3� � ---- � ---- � �b0�r1 g1�b2�r3 g3� +--+-----+--+-----+
�p� ���� p��p������ ������ ����� p������p�� �� ��p������ � ��p��������, � p������ �������� ����� `����������`.
SetPage(0); PutPixel(5, 9, 10);
SetPage(1); PutPixel(5, 9, 63);
SetPage(2); PutPixel(5, 9, 05);
H��������� ����� ������ - ������� ��p��������� p����p��� ������ � �p� p��� � ��p�� �������� ��p����. ��� ����� p������������ ��-��p��� ������� p������� ������� ������ (������ VGA ������p� ��������� ��� ������, � ���� ������p�� ������� ��� ��������). �p���� ������� ��������� ��p����� ����� ���� ������������� �� �p�� � ������ ���� ��p����. �p� ���� �����p� �p��p����p����� ��� �� ��� "�������" ��� p����� � ������������ ��� ����� ������ ������ �� ��� ����� �p� �� "����������" ���������� ������ RGB �����. ��� ��� ����� ������� �p��������, �� p��������� ����� ����. H��p���p ����� (1 2 3) + (4,5,6) ����� �������� ���� (5,7,9). H���� �p������� ����� ������� ��������� ���������� ����p�� �������� ����p� p�������� ���� (r,g,b) �� ��� ������� � ����� �����p�� (���p�������� ��� ������ ����� ������ � ����� �����p� �� ���� �p���� ��� p����� ������� � ����� � ��� �� �����p�, �� ������ ��� ��� ����p��� 256K ������ �� ��������). ��� ���� ���� ����� ��p��� ���������� �� H�������p��� ������ ����� �p��p���� ��� �p�����p� TGA ������ �� ������� VGA (� ������ ����� ���� 286/12Mhz), � ���� ������� ���� ������ ���� �����p�.
� ���� �p��� � �������� ��� ���� �����, ����������� ������������ ��p������ � �����p�� � 256 ������ � �����p������ �������� �p�����. ������������ �p���p - shading + texture mapping. shading - �p������� ������������, ������p� - �����p���� ��p�����. ���� ����� �p����. ��p���� �����p� �������� ��p����� � �� ��� ����p���� true color ��p����� 256x256, ��� �� ����� ���p������ - �p�����, �� �p���� - ����p �����. ������������ ��p����� �������� ��� ���-������ �������� ��p�������� � 256 ������ (p��������� �� ������������ ����p���, ���� ����� � ����p�����) � ������������ ��p����� (dithertable) 256x256x8 bit ������������ ��� ������� ��p�����p���� ����� ��p����:
screen_color = dithertable[ texture_pixel ][ brightness ]
5.16. �������� ��p������ � SVGA.
�.�. ��������� ������/������ ����������� �� ����� ��p��� ��� ��p��������� ������, � ���������� 32-������ ������.
��� ��������� ������ ������ ����������� ����������. � ���������� svga kit ��p�� scitech software, ��� � ��������� ��� �� ��� ������, ������� ���� ����� �� �����. ���� ������ �� ������������� - �� ����� ������ � �������� ������, ������� �� ������������� �������� ����������� �����, ���������� ��� �������������. ��� ��������� � ��� ���������� exception, � ����������� �������� ������������� ���� � ���� ����� ������ ��������������� �� �����-������. �� ���� ������ �� �������� ���� ����� �������������� ����������� ���������� 386 ����������.
��� ������ �������. ������ ����, ��� ������� ���� ��� ����������� �������� ����� ���� ����� ������������ ������. ������ ��� �� ����� ������� �������� � ����� ���������. ���� ���������� ���������.
��� ���:
char* Screen = (char*)getLinearPointer(...); for( int x=0; x<800; x++ ) for( int y=0; y<600; y++ ) Screen[ y*bytesPerLine+x ] = random(256);
�� ��� � ������������ ������� ����������, � ����������� ������ �� �����������.
references (BSP.FAQ): http://www.ddj.com/ddj/issues/j9507a.htm http://www.ddj.com/ddj/issues/j9507b.htm ftp://ftp.mv.com/pub/ddj/1995/1995.cpp/asc.zip ftp://metallica.prakinf.tu-ilmenau.de/pub/PROJECTS/GENERIC/generic1.1.tar.gz file://x2ftp.oulu.fi/pub/msdos/programming/theory/bsp_tree.zip http://www.dcs.qmw.ac.uk/~mel/BSP.html file://ftp.idsoftware.com/tonsmore/utils/level_edit/node_builders/ file://ftp.cs.brown.edu/pub/sphigs.tar.Z
6.����� ���������� ���p��� � ������
����� �������� ��p����� ����� �p���p����, ����� ������� ������ �� ���� demos/intros etc..?
��������� ��p���� - ��� ��p�����: GUS(max/PnP) 512k-1MB � SB2.0(SB Pro). ����� �p��������������, �� ���� �p�������� - ������ GUS. ��� ��� �����, ���������� ����������� demos �����p������ GUS. � ������ - ������ GUS.
����������� ���p�� ���������� �������p�����?
� �� ����� ����������� CL5422/CL5428 (� ������ 5422). H� ������ demo parties ����� ���������� TSENG ET-4000, �� ���� ���������, ��� �� ���������� ������p�� ���������� (�p��� ����� - �p� ��� �� ����). �p� ����� ����p�� ��p����� ������� ������ �� ���� - �� �p������.
����� ���� ����� p�������� ��� �� ��������� ����� - ������ ������� DEMO.DESIGN.PIC, ����� ��� ��������� ����������?
H��, ����� ����� - ��� ��p�������� ��������� ��������� graphician'a, musician'a, coder'a,.. ��������� �� ����� ������. ���� �� �� �������� - � �p������ ���� �� SU.GRAPHICS, RU.STRACK ���...
����� ����p �p��p���/������, ����������� ��� �������� demo/intro?
���p���p: Deluxe Paint II, TASM, TP(BC!?:), Alchemy, Caligari TrueSpace/3DS, ST3.x/FT2.x/FM'��� tracker'�, p����� ������ �������, ������p�� �� ����p�� ��� ��� p���� �p������ ������ ������ :)
����� �p��������� p������p� �������� ����� ������������ �p� ��������� demos, intros ���?
H� PC - �� ��p��� �����, ����������, - Deluxe Paint IIe. (��������� ��p���, ��������� � ����, - 2.3). ��� ���� ����� ���� patches, ����������� p������� � xmode. �� ���p�� ����� - Autodesk Animator (Pro). � ����, ������, ���� �p����p� ��� p����� � xmode. � �������� �p�������� - Alchemy, for win: Fractal Painter, Photoshop 3.0, PhotoStyler 2.0
H� Amiga - Deluxe Paint II v4.5 (or >)
H� C64 - H���p ����� ��p�� - ��������� ������� ���������� ������ ������������ p������p���, ����p�� �� p������p�����. �� ��p��� p������p������� - Koala Painter, Art Studio, GunPaint ��������� logo editor'�, ����������� p������� � FLI,IFLI,AFLI (p�����, ���������� ��������� ���-�� ������/p��p������ > ������p�����)
�p��� p������p�� ����� ������������ ������������ renderer'�, ���-��: Caligari TrueSpace, Imagine, 3DS, Real3D ���.
����� ����� FM? ���� ������ - ��� ��� �p��� � ��p���� ������ ������ �� p������� ����p������!
�������p������� ������ :) ���� � ���� ����� - ��p��� ��� ��, ��� FM ������ �p����� ��p���� ������ ����� ��-�� ������ p����p� ����p�������. ���p�� - ��� �� ������� digital music ������p�����? � ������ p������� ����p������ ����������� ����� ��p�������? ����� ��p��� ������ ���� �� ����p�� FM'���� tracker'a (�� ����� coder/musician �� �=64):
People begun to actually hate FM sounds. The arrival of GUS and AWE 32 made wavetable techniques very popular and indeed it sounds very good, but there are some things in the old FM standard that is unique. You can't fiddle with samples in the same way as you can with FM. I personally never quite liked sampling, I find it downright boring. With a FM chip it is like on a C64; you have a few parameters and everything you do has to be done within these parameters. These boundaries makes it funny to make music, to see howfar you can actually push AdLib. To do sounds on FM requires expertice but if you're good at it, almost any instrument can be reproduced properly, except perhaps drums.
����� � �� ��������...
��� ������� - ���������� �p���p� � EdLib'y.
��� ����� FTP (���� �� ���� ��� ����� ���������!)
����� ������� ��� ��� ������ �� BBS �� � ���� Internet. ��� ���� ����� ��������� ������ ����� �� ������ ����� ������ � online Internet'y (��� ��� �p����� ����� ����� ;) � �p������ ��� �������� � ���p������� UUCP �� �� �������� ����p��� �� �p��������.. �������� ������ ����� � RU.INTERNET, RU.NETWORKS
����� ��� ���-���� ���������� ��� �p��������� ��p���y� ����������� � svga p����� (101h � ���������) �������?
���� ���� �������p�� �� �����p������ ����� p���� �� ��� ��������-���� ���p�������� ���� � ��������. ���� ���p���� � ��������� ��������� Dmitry Skavish (5030/175). ��� ��������� �� ��� ���� �������� �� 5030/84 ��� ������ VIDEOMAP.ZIP (FREQ policy ��. ����). ����� ��. ������ �p� �������� ��p������
������� ����� � Mad Max'�� �� xUSSR demo scene?
��� ������� ���. �������� �� ����� �� ��������� ���� � handle'e:
Mike Shirobokov 2:5057/14 Mad Max / Queue Members Group
MaX Brashenko 2:5000/47 MaD MaX
��� ����� ��������: Saruman // fWG - ��� for Work Groups? ;-)
H����! FWG == Fire Wheels Group
��� ���������� DDT �� DDT Entertainment?
�py��� "Deep, Deep Trouble", ����py� ���������� Steel Rat ����� p����������. ����� �� ����� �p����� � TSR'��, ����������� �����p�� ����� �� DDT � �������� �����p������y� �y��y DDT Ent. (����� �� ��p����� ��������) �� ����� � Royal Ghost'��. � DDT �p��y �� p����������. � �p������, ������ ��� DDT ������ ���p��y�������� DDT Ent, �� ���-����, ��� �� ������, p������� ����. ������, ��� �������� DDT Ent, �� ��� � �������� ���������� ����������� �p������ Royal Ghost'a ��� �y�������.
�p� p��������� ��������� ���� �e ������e�c� �p��e��e ��e�� ���p�� �c� Z. B��p�� �c� X � Y �p�����c� ��p������, � ��� c Z ���p��c� ���-�� �e�����e...
�� ������� ��������� X, � ����� ��� ����������� ��� ���������� Y. � ���� ��������. �.�. ���
X := -X*SIN(A) + Y*COS(A);
Y := X*COS(A) + Y*SIN(A);
H������ � �����. H���� ������:
X1 := -X*SIN(A) + Y*COS(A);
Y := X*COS(A) + Y*SIN(A);
X := X1;
�������� �� ��p������ � ����������� ���p������� DMA?
��-�� ��������/�p���� p��������� DMA � ����������� �������� ��� ��� �p����� ����������. ��� ����� ��� ��� p���� REP MOVSD ����� ����������� ����p��.
7.FTP,BBS
Internet:
ftp.arosnet.se /demo/demo hagar.arts.kuleuven.ac.be /pub/demos ftp.eng.ufl.edu /pub/??? ftp.funet.fi /pub/amiga/demos (Commodore Amiga) ftp.luth.se /pub/msdos/demos ftp.cdrom.com /pub/demos (�������� ��������) x2ftp.oulu.fi /pub/msdos/programming (� �������� �� �p��p����p������) pitel_lnx.ibk.hvu.nl /pub/c64 (Commodore 64 stuff) utopia.hacktic.nl /pub/c64 (Commodore 64 stuff) +>abel.pdmi.ras.ru /pub/demos (ENLiGHT'96 releases)
IRC channels:
#coders, #trax, #demos, #c-64 (Sharks' bot - Sharkbite), #amiga
xUSSR BBS/FREQs:
SkyNet Station - 2:5030/84 - Home of iNFUSED BYTES diskmagazine, ROi WHQ. some interesting sources and tiny intros. Mainly uuencoded in DEMO.DESIGN.UUE some time ago. FREQ 'FILES'. 9600+, 00.00-07.00msk No BBS, FREQ only. USR RC V32B-14400/HST-16800/RHST-21600/V32T-21600
Bulletin Board System Sysop: Mr. Byte Fidonet: 2:5100/33
Modem: 14400/V32b/V42b 24h every day Phone: +371-2-559777
� Official SWAG supporting site
� Pascal BBS, nice sources for Pascal, C, Assembly and other languages
� Uniquie collection of DOS/Windows related stuff
� Daily updated official currency exchange rates from Bank of Latvia
� PARADiZE 4 C0DerZ
8. ENLiGHT'95 Party � �����-����p��p��.
ENLiGHT'95 party �p���������� Realm Of Illusion & K� , ������p�����
LANCK, Russian Federation of Shaping, RCom Company Ltd. C��������� � ��� 19 - 20 �������.
����� � party (>35 ���p��, ������, ����������/p������ �����) �� ������ ������p��� �p����� ��� � 2:5030/280,/248,/103, 5020/269.8(254-10-03,24h,ZYX) , 5020/102
ENL95REP.ZIP (2.1MB) (386,VGA,SB/GUS/PAS/WSS)
��� p����� �������� �� ftp.olly.ru/incoming/Enlight95 � �� 5030/280. � ����� �� ftp.cdrom.com/pub/demos/?
�����p�� �p��������� �� ��������� ������p���:
8k Intro compo: max 8kb,max 5 min,no SVGA Demo compo: max 10MB,max 15 min,VGA,SVGA Music compo: .XM,.S3M,.MOD., others, max 1MB, max 5 min, Graphics compo: max 640x480x16.7���. (Amiga intro compo: 64k max, A1200/2MB)
�p������������ ����� 150 �������.
����������:
PC Demo
1. Glitch by Queue Members Group (51)
2. Show 3D by Friends Software (5)
3. Another Demo by Nimbus Studio (5)
4. Elite by Virtual Illusions (1)
PC 8K intro
1. Remix2 by Future Hackers (39)
2. Mostly Harmless by Beeblebrox /TMA (20)
3. Pentium by Street Raider /DDT (6)
4. 6567 by ROi (2)
Amiga 64k intro
1. Rest by RST7
2. -
3. -
Music
1. NetRunner (18)
2. XPEH /Lookers (14)
3. JayDee /Venom (11)
4. Queue Members Group (6)
5. Wind Dragon /ROi (4)
6. Euggie /ByteFall (3)
7. Harley /Virtual Illusions (2)
8. Tangerine /Overlook (1)
8. Artem (1)
8. Scream Man (1)
Graphics
1. Ren (57)
2. Royal Ghost (11)
3. Queue Members Group (1)
Real-Time Coders Compo
1. Mad Max /Queue Members Group (41)
2. Andrew Zabolotny /Friends Software (21)
9. ENLiGHT'96 Party � �����-����p��p��.
ENLiGHT'95 party �p���������� Realm Of Illusion & K� �p� �����p��� ��� ��p����� ������������ �����p������ (���. �p�������� ����������), RCom Company Ltd, Spline, X-lab.
Party c��������� � ��� 24 - 25 �������.
��� p����� �������� �� abel.pdmi.ras.ru/pub/demos/enlight96 � ����� �� ftp.cdrom.com/pub/demos/incoming/ENL96
����� � party (��� ������ �� ����� �����) �������� ��� ��.
�����p�� �p��������� �� ��������� ������p���:
PC 8k intro compo: max 8kb,max 5 min,no SVGA PC 64k intro compo: max 64kb,max 10 min,no SVGA PC Demo compo: max 4MB,max 15 min,VGA,SVGA Music compo: .XM,.S3M,.MOD., others, max 1MB, max 3 min Graphics compo: max 640x480x16.7m Amiga intro compo: max 64kb,max 10 min ZX Spectrum graphics compo: 6912 bytes ZX Spectrum music compo: max 3 min ZX Spectrum demo compo: max 2544 sectors, max 10 min
�p������������ ����� 400 �������.
ENLiGHT'96 Official Results
Number of voters: 146
PC Demo compo
1. NOSFERATU NEPHILIMS 238 nosf.zip 2. HElliZER Queue Members Group AD 214 hellizer.zip 3. Dreams DDT Entertainment 211 ddt-drms.zip 4. Experience Virtual Illusions 66 experien.zip 5. Eternal Life Eternal 49 etlife.zip
PC 64K Intro compo
1. Distorted Virtual Illusions 236 vi_disto.zip 2. Real Sux DDT Entertainment 175 realsux.zip
PC 8K Intro compo
1. Faugh Agent Orange/t-Rex 258 trx-fgh!.zip 2. Fire & Water Fidel Ink/Digital Cascade 210 firewat.zip 3. Brilliant Move Future Hackers 114 bm.zip 4. Gluk2 Pavel Repkin/Future Hackers 52 gluk2.zip 5. Dream Cobra/PI Software 44 dream.zip 6. 244 bytes Sands 17 244bytes.zip
Real Time Coders compo
1. FX Street Raider /DDT 230 rtc_sr.zip 2. FX Agent Orange /t-Rex 224 rtc_ago.zip 3. FX MadMax /QMG 152 rtc_mm.zip 4. FX 2NB 65 rtc_2nb.zip
Music compo
1. Memories Fill Mars/Fill Mars Laboratory 127 memories.zip 2. Victory Madminder 119 victory.zip 3. She Was Innocent Manwe/SandS 80 innocent.zip 4. Ball Lightning slightly magic 79 ballligh.zip 5. Street Agression Snork 76 ceedee.zip 6. Ooops! Lav/Galaxy 68 ooops!.zip 7. Slash1 Slash/ADG_RPSG 66 slash1.zip 7. Suanmia Kirshe/Eternal 66 suanm01.zip 8. The Neus Leo 64 neus.zip 9. Forbidden Dreams Alex Simouline/Fortune 63 for_dr3m.zip 10. Never Ending Story Jay Dee 59 jd-never.zip 11. The Moscow Fog Tangerine/t-Rex 53 tan-mfog.zip 11. Trance-X Vibes XPEh/LooKER house 53dq txv.zip 12. Transexplorer Xtreme 52 t_explor.zip 13. Beyond the Calmness Dying Breed 47 beyond.zip 14. valley of the blindbirds Rogers/QMG 38 vobbcomp.zip 15. Stupid Smiler's Club MAG 37 smile.zip 15. POST! VanaPoo/Virtual illusions 37 post!.zip 16. Motion Thunder God/Team COLOBOC 35 to65.zip 17. REVOLUTION wave/LOOKER hOUSE 34dq revolut.zip 18. Fathers Rony kiloMeters/DDT 33 fathers.zip 19. HYMN Morpheus 32 mor-hymn.zip 20. must Andrey Malyev/PI software 28 must.zip 21. Reggae Grom/Fire Bird 27 island.zip 22. fake love IMP/RUSH 25 fakelove.zip 23. Music is our emotions Master_Koff/SoftMotion group 19 emotions.zip 24. Holo Drance #2 Mad Wild/Digital Cascade 18 rave#5.zip 25. MadNess Gray Engine/Future Hackers 14 hicky.zip 25. The last illusion Voider 14 vo-ill.zip 26. Life Underground Hi-jack/NewGEN 10 life_und.zip 27. NBA EVA/RTT 9 nba.zip 28. Noice Motion Popirin Denis/CrossRoad 8 noicem.zip 29. Digital Dreams Stas 7 digitald.zip
Graphics compo
1. Lions of Darkness Royal Ghost/DDT 73 ddt-lion.zip 2. Machine Gregor Barbarian 68 machine.zip 3. Project ? 60 project.zip 4. Ganjaman ? 54 ganjaman.zip 5. Water World Royal Ghost/DDT 50 ddt-ww.zip 6. Modify1 Voider 49 voider.zip 7. Peredoz Boss/Eternal 47 eternal.zip 8. Taladas Cat/ACiD 45 acid.zip 9. Attack Terror/DR/RPSG 38 dr_rpsg.zip 10. Dragon Terror/DR/RPSG 30 dr_rpsg.zip 11. Sarcastic Toaster Cat/ACiD 28 acid.zip 11. Fenka2 Voider 28 voider.zip 12. The Alien WorkShop Cat/ACiD 25 acid.zip 13. Zmey Voider 19 voider.zip 14. Hardcore Boss/Eternal 17 eternal.zip 14. Untitled Rogers/QMG 17 untitled.zip 15. Coupling Dmitry Skavish/IV 16 sd.zip 15. Godsmeal Dmitry Skavish/IV 16 sd.zip 16. Male1 Cat/ACiD 14 acid.zip 16. My Dream Terror/DR/RPSG 14 dr_rpsg.zip 17. Face Boss/Eternal 13 eternal.zip 18. Freedom of Speech Terror/DR/RPSG 12 rd_rpsg.zip 19. Starship Boss/Eternal 10 eternal.zip 20. Myth Boss/Eternal 5 eternal.zip 20. Cock Dmitry Skavish/IV 5 sd.zip 20. Scrubs2 Voider 5 voider.zip 21. Enigma Dmitry Skavish/IV 4 sd.zip
Amiga 64k intro compo
1. AGA inside XL-Design -dq
ZX Demo compo
1. Illusion X-Trade Group 257 2. Vibrations RUSH 241 3. Eye Ache CodeBusters 234 4. 7th Reality DR/RPSG 185 5. Influence Seamans B.U.H.G. 150 6. Action Vav 137 7. Life Sux Galaxy Inc 51 8. Ice Cream World Eyes 31 9. Daf Digital Arts 5 9. Made In Kazan Excess Group 5 10. Miracle WarLocks Group 3 11. Russian Prestige Black Shark/RPSG 2
ZX Spectrum Music
1. Likemya Joe/DR/RPSG 108 2. DNK-1 DNK/VirtGroup 99 3. KSA INS KSA 96 4. KPYTEXHO Evolver/RUSH 73 5. Stop MIC/MPS 69 6. 19 MGN.W KSA 62 7. Malikov Slash/Slash ADG/RPSG 60 8. DNK-2 DNK/VirtGroup 57 9. E'96 Joe/DR/RPSG 53 10. Larel_E A.Mihaylov/Scorpion & K H.G. 49 10. ChessBoard Magic Soft 49 11. Intro1 Alien/VirtGroup 45 11. Myst Sauron/DR/RPSG 45 12. Love'96 Slash/Slash ADG/RPSG 37 13. Nothing Forever Magic Soft 31 14. Destiny Comp-MS/Scorpion Club 28 15. Forever Comp-MS/Scorpion Club 26 16. Enlight Dexter/Galaxy Inc 25 16. CR2 A.Mihaylov/Scorpion & K H.G. 25 16. Steam-2 Bobov I. 25 17. :-/ MIC/MPS 24 18. Cube World Eyes 22 18. Never Alien/VirtGroup 22 19. TN2 Evolver/RUSH 10 20. Grave 3.0 Pahomov Sergey 8 21. Improvization one Pahomov Sergey 5 21. Rave4a BOBOV I 5
ZX Spectrum Graphics
1. Tiger Lemming/Scorpion Club 109 2. Chaos+ Magic Soft 106 3. Chaos Viator/RUSH 72 4. Dark God Kamikaze/RUSH 66 5. Kazansk Observer/VirtGroup 65 6. Knight Lemming/Scorpion Club 57 7. Slavik1 Barkov 56 8. St.Peter Observer/VirtGroup 54 9. Fil4 Fil Gfx/Scorpion Club 51 10. Before the storm Magic Soft 49 11. Rush Viator/RUSH 45 12. Fil2 Fil Gfx/Scorpion Club 39 13. Shaoinlg M.O.C./VirtGroup 38 13. Go Bobov Ivan 38 14. Life Shit Tihonov A. 26 15. Znachok M.O.C./VirtGroup 25 15. Steel Lemming/Scorpion Club 25 16. Fil3 Fil Gfx/Scorpion Club 22 16. Hard Rock Tihonov A. 22 17. Fil1 Fil Gfx/Scorpion Club 21 17. Fly_C Bobov Ivan 21 18. Castles3 Observer/VirtGroup 18 18. FirePlay Lemming/Scorpion Club 18 19. Term Alien/VirtGroup 13 20. Birga Alien/VirtGroup 12 20. Fractals Cobra/Enigma 12 21. I.Maiden Tihonov A. 11 22. Castle Lion/Excess Group 9 22. Virtual World Magic Soft 9 23. Magland M.O.C./VirtGroup 5 23. GGG Sobolev E.V./Scorpion & K H.G. 5 23. Eclipse Bobov Ivan 5 24. S_hunt Bobov Ivan 4 25. Paralich Tihonov A. 3
dq - disqualified
10. DEMOS, INTROS, DEMO_REL, DEMO_SRC, DISKMAGS �������.
DEMOS - Demos (~100k..~4MB) INTROS - Intros (0..~100k) DISKMAGS - Disk magazines (diskmags, party reports) DEMO_SRC - Demo/intro/various effects sources, documentation DEMO_REL - Misc demo related stuff (trackers, utils, etc..)
Moderator - Peter Sobolev, 2:5030/84, [email protected] CoModerator - Mike Malakhov, 2:5030/280 (down)
��� ������� �p�����p�p�����. �������� ��������� ���� ���-���� ����� ��� �������
����� ��� ���������� ���������� ������ ������ �p������������ � DEMO.DESIGN.WANTED
� 5030 � p����� ��� ������� �� /16 /103 /248 /544
��������, ��� ������� ��������� ������ ��p���� ��� ���� �������� ������������� �������:
463/118 50/330 5001/7 463/159 471/23.17 50/777.32 5000/33 5005/37.8 463/340 471/23.226 50/777.44 5000/47 5005/38 463/530 471/23.65 5005/39 464/51 471/23.82 5000/83.12 5005/41.3 465/70 5007/3 469/79 5007/3.30 5007/5.1 5011/22.10 5011/36.103 5020/1000 5021/1.5 5030/103 5033/5 5020/158.24 5021/12 5030/135.2 5037/4.5 5020/170.9 5021/2.28 5030/142.21 5049/30 5020/170.9 5021/6.24 5030/16 5054/12.27 5020/201 5023/10 5030/191 5054/25 5020/235.40 5023/9.11 5030/195.9 5054/26 5020/238.14 5025/18 5030/240 5056/112 5020/249.8 5025/2.65 5030/248.33 5056/1.39 5020/265 5025/2.65 5030/249 5057/14 5020/265.9 5025/23.49 5030/249 5057/14 5020/269 5030/275 5057/18.19 5020/269 5030/316.30 5057/19 5020/299 5030/316.31 5057/2.3 5020/312.9 5030/327 5057/25.4 5020/348.3 5030/329.5 5057/4.23 5020/384 5030/331 5074/8.5 5020/438.17 5030/344.16 5074/9 5020/466 5030/346.13 5100/56.14 5020/476 5030/370 5020/477.39 5030/444.2 5020/477.39 5030/444.55 5020/480.10 5030/444.7 5020/480.14 5030/489 5020/487 5030/498 5020/491.91 5030/499.29 5020/506 5030/514 5020/551 5030/528 5020/636 5030/544 5020/636.11 5030/558 5020/637 5030/558.10 5020/640 5030/560 5020/657.100 5030/248 5020/662 5020/706 5020/709 5020/717 5020/724 5020/739.33 5020/741.8 5020/756.10 5020/775 5020/779 5020/787 5020/789 5020/795
11.�������p�����
������� ����, ��� ����� �������/����������/������ ������ ��� ����. ����� � �������� ;)
Oleg Homenko (461/318.50) Vladimir Medeiko (5030/84.219) Lenik Terenin (5061/1) Alexey Kolpikov (5061/7) Mike Malakhov (5030/280) Paul Nosikoff Peter Sobolev (5030/84) Alex Starkov (5030/248) Andrej Tepelin Leon de Boer Cyril Antonov (5030/6.200) Andrew Eigus Andrew Zabolotny (5030/84.5) Maxime Zakharov Zoombapup LazyHAM Alexander Amelkin Serguey Zefiroff (5020/509.601) Dmitry Skavish (5030/175) Yury Oreshkin (2:4641/41.77) Alex Victorov (2:5025/9.43) Bretton Wade Mike Shirobokov, (2:5057/14) Lout Roman, 2:463/586.20