SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Richard Thomson
Director, Computer Graphics Museum
@CGMuseum
http://ComputerGraphicsMuseum.org
info@ComputerGraphicsMuseum.org
BEFLIX First Publication
"A Computer Technique for
Producing Animated Movies",
Kenneth C. Knowlton
AFIPS Conference Proceedings 25
(Spring Joint Computer Conference 1964)
Hardware Environment
 IBM 7090 computer
 Card keypunch
 Card reader
 Line printer
 Magnetic tape drive
 Disc drive
 Stromberg-Carlson 4020 microfilm recorder
IBM 7090 Computer
 IBM's first transistor based mainframe
 First install November, 1959
 Typical cost $2.9 million in 1960
 Evolution of IBM 709 vacuum tube
mainframe
 Created for scientific/engineering markets
 NASA: Mercury, Gemini and Apollo
 JPL: Space Flight Operations Facility
 American Airlines: SABRE
IBM 7090 Computer
 3 index registers
 227 instructions
 single-precision floating-point (36-bits)
 36-bit words
 32,768 words of core memory
 2.18 µs memory cycle time
 4.36 µs floating-point add time
 4.36-30.53 µs floating-point multiply time
IBM 7090 CPU and Memory
IBM 7090
IBM 7090
IBM 7090
Stromberg-Carlson 4020
Microfilm Recorder
 Magtape drive for input
 Charactron tube for creating image
 16mm or 35mm film camera
 Character beam can be defocused
 Draw grayscale pixels as character blobs
Stromberg-Carlson SC4020
Language
 BEFLIX is an Embedded DSL
 Embedded
○ Embedded in another language
○ Hosted in FORTRAN II environment
○ Uses FAP (FORTRAN II Assembly Program) macro
language constructs
 Domain-Specific Language
○ Represent concepts from the problem domain
directly
Programming Model
 Memory organized into surfaces
 Coarse resolution: 126x92
 Fine resolution: 252x184
 3 bits/pixel
 12 pixels/word
 Enough memory to hold 2 fine resolution frames
Fine Surface Designators
Fine resolution alternatives:
AA
252x184
BB
252x184
CC
252x368
VV
252x368
Coarse Surface Designators
Coarse resolution alternatives:
WW
126x92
XX
126x92
YY
126x92
ZZ
126x92
PP
252x92
OO
378x92
FF
504x92
PP or WW, XX
OO or WW, XX, YY
FF or WW, XX, YY, ZZ
Coarse Surface Designators
Coarse resolution alternatives:
WW
126x92
XX
126x92
YY
126x92
ZZ
126x92
TT or YY, ZZ
SS or XX, YY, ZZ
EE or WW, XX, YY, ZZ
EE or AA
TT
126x184
SS
126x276
EE
126x368
Scanners
 Scanners are named A...Z
 Scanners live on a surface
 Scanners have:
 A coordinate within the surface
 A value read from the surface
 Manipulate a surface by conditionally
performing operations on a scanner or
between two scanners
Low Level Operations
 Place a scanner at a location on a surface
 PLACE sc, surf, x, y
 Conditionally perform some operations and
jump
 IFxxx (c1)...(cN)T(o1)...(oM)label
 Evaluate each condition c1...cN
 Combine them according to logical predicate xxx
 If true, perform operations o1...oM
 Optionally jump to label
Low Level Operation Example
IFANY (B,R,10)(B,A,C)(A,E,7)T(A,T,B)(A,U,2)(A,W,3)LOC5
If any of the following are true:
 scanner B is Right of x=10
 scanner B is Above scanner C
 scanner A is sitting on a number Equal to 7
Then the following operations are performed:
 scanner A moves To the same surface and pixel as scanner B
 scanner A moves Up 2 pixels
 scanner A Writes the number 3 to its pixel
Then control jumps to the label LOC5 in the program.
Scanner Conditions
 Conditions are of the form (scnr,rel,quant)
 scnr name of the scanner to be tested
 rel relation between scanner and quant
 quant can be a number or another scanner
Scanner Comparison
Relations
 Compare scanner position to a value
 Compare positions of two scanners
 Compare scanner pixel to a value
 Compare pixel between scanners
Scanner Move Operations
 Move to absolute X or Y coordinate
 Move relative along X or Y axis
 Move to surface and position of other
scanner
 Move to X or Y coordinate of another
scanner without changing surfaces
 Move one square based other scanner's
pixel
 Scanners wrap around surface boundaries
in a helix
Scanner Pixel Operations
 Write pixel from value or other scanner's
pixel
 Write complement of other scanner's pixel
 Exchange pixels between two scanners
 +, -, *, / between two scanners (modulo 8)
 bitwise OR and AND between two scanners
Static and Dynamic Operations
 Static operations happen immediately
 Dynamic operations occur over multiple
frames
High Level Operations
 Output control and temporary storage of
pictures
 Drawing primitives (line, arc, polyline, text)
 BitBlt like operations on rectangular areas
 Dynamic operations on rectangular areas
 Macros using low-level operations
Output Operations
CAMERA n
FRAMES n
FILTER n
TABLE n,c0,...,c7
AIM sc
SAMPLE n
LINES n
FILM
NOFILM
UNTIL n,label
RESET n
COARSE
FINE
STORE surf,where
RETREV surf,where
Drawing Primitives
LINE sc1,sc2,mode,ns,width,speed
ARC sc1,ctr,d,mode,ns,w,speed,t1,w1,t2,q2
TRACE lb1,len,sc,orient,mode,ns,width,speed
TYPE lb2,sc,size,hspace,vspace,mode,ns
lb1 OCT n,(curve to be drawn by TRACE)
lb2 BCI n,(text to be drawn by TYPE)
Instant Rectangle Operations
PAINT scTR,scBL,mode,ns
BORDER scTR,scBL,width,mode,ns
SHIFT scTR,scBL,dir,amount
ROTATE scTR,scBL,dir,amount[,n]
EXPAND scTR,scBL,dir,rep1,rep2
SQUASH scTR,scBL,dir,del,kp
COPY scTR,scBL,mode,orient,sc3,sc4[,n]
CENTER scTR,scBL
GROW scTR,scBL,ns1,ns2,ns3,label
SMOOTH scTR,scBL
Dynamic Rectangle
Operations
DISOLV scTR,scBL,sc3,pat
ZOOMIN scTR,scBL,fctr
REDUCE scTR,scBL,fctr
STRECH scTR,scBL,dir,fctr
PRESS scTR,scBL,dir,fctr
The Master Film
 The SC2040 produces a master film
 Duplicate frames are output only once
 A repeat count is written above the frame
 Repeated frames are duplicated by optical
printing when the film is developed
Workflow
1. Develop program in BEFLIX
2. Preview output samples on printout
3. Run program to create magtape
4. Load magtape into microfilm recorder
5. Produce master film
6. Optical print/expand to create work print
Stan VanDerBeek
Artist Stan VanDerBeek collaborated with Ken Knowlton on a
series of films:
 Poem Field No. 1 (1965)
 Poem Field No. 2 (1966)
 Poem Field No. 3 (1967)
 Poem Field No. 4 (no date)
 Poem Field No. 5 (1967)
 Poem Field No. 6 (no date)
 Poem Field No. 7 (1971)
 Poem Field No. 8 (no date)
 Collido-Oscope (1966) (VanDerBeek, Knowlton and
Bosche)
 Man and His World, 1967 (Shown at Expo '67)
Poem Field No. 2
View the Video
Looking Back at BEFLIX
 BEFLIX is considered an "esoteric"
programming language
 Its unique syntax depends on the macro
facilities of FAP
 Later FORTRAN IV version resembled more
traditional subroutine library
 First(?) language for procedural animation
Museum Exhibit Futures?
 7090 simulation with BEFLIX
implementation
 No known source to BEFLIX exists?
 7090 simulation is boring
 7090 real experience was physical
 VR exhibit?
 BEFLIX IDE
 Open source IDE to explore BEFLIX programs
 Evolve BEFLIX to a GPU oriented language
 Produce procedural moves in real-time

Weitere ähnliche Inhalte

Was ist angesagt?

Esei spm sejarah 2007
Esei spm sejarah 2007Esei spm sejarah 2007
Esei spm sejarah 2007Sharifah Ali
 
Perjuangan nasionalisme oleh persatuan persatuan melayu
Perjuangan nasionalisme oleh persatuan persatuan melayuPerjuangan nasionalisme oleh persatuan persatuan melayu
Perjuangan nasionalisme oleh persatuan persatuan melayuladykathy
 
CHEMISTRY FORM 4 KSSM CHAPTER 4
CHEMISTRY FORM 4 KSSM CHAPTER 4CHEMISTRY FORM 4 KSSM CHAPTER 4
CHEMISTRY FORM 4 KSSM CHAPTER 4MISS ESTHER
 
Bab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptx
Bab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptxBab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptx
Bab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptxMEGANYEOHTZEXUANMoe
 
Pengurusan sisa merbahaya
Pengurusan sisa merbahayaPengurusan sisa merbahaya
Pengurusan sisa merbahayaamirakhair
 
KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017
KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017
KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017Nurul Syakirin Rashid
 
Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...
Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...
Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...Liyana Jayz
 
Sejarah (2.1) - (2.1.1) - (2.1.2)
Sejarah (2.1) - (2.1.1) - (2.1.2)Sejarah (2.1) - (2.1.1) - (2.1.2)
Sejarah (2.1) - (2.1.1) - (2.1.2)ladykathy
 
Bab 2 nutrisi (Sistem pencernaan)
Bab 2 nutrisi (Sistem pencernaan)Bab 2 nutrisi (Sistem pencernaan)
Bab 2 nutrisi (Sistem pencernaan)nurlailiizzati3
 
Latihan Formula Ion & Formula Kimia (for students)
Latihan Formula Ion & Formula Kimia (for students)Latihan Formula Ion & Formula Kimia (for students)
Latihan Formula Ion & Formula Kimia (for students)Cikgu Ummi
 
form-1-science-chapter-5-part2
 form-1-science-chapter-5-part2 form-1-science-chapter-5-part2
form-1-science-chapter-5-part2kaiying
 
Kesan Kegiatan Manusia Terhadap Alam Sekitar
Kesan Kegiatan Manusia Terhadap Alam SekitarKesan Kegiatan Manusia Terhadap Alam Sekitar
Kesan Kegiatan Manusia Terhadap Alam Sekitarzumiza84
 
Malaysia Dengan Ekonomi Antarabangsa
Malaysia Dengan Ekonomi AntarabangsaMalaysia Dengan Ekonomi Antarabangsa
Malaysia Dengan Ekonomi AntarabangsaJosh Lrt
 
Kertas Penerangan Sains Am 2 Modul 1 Keadaan Jirim
Kertas Penerangan Sains Am 2 Modul 1 Keadaan JirimKertas Penerangan Sains Am 2 Modul 1 Keadaan Jirim
Kertas Penerangan Sains Am 2 Modul 1 Keadaan JirimHarzana Harun
 

Was ist angesagt? (20)

Esei spm sejarah 2007
Esei spm sejarah 2007Esei spm sejarah 2007
Esei spm sejarah 2007
 
PENGAJIAN AM-KESTABILAN SERANTAU
PENGAJIAN AM-KESTABILAN SERANTAU PENGAJIAN AM-KESTABILAN SERANTAU
PENGAJIAN AM-KESTABILAN SERANTAU
 
Perjuangan nasionalisme oleh persatuan persatuan melayu
Perjuangan nasionalisme oleh persatuan persatuan melayuPerjuangan nasionalisme oleh persatuan persatuan melayu
Perjuangan nasionalisme oleh persatuan persatuan melayu
 
CHEMISTRY FORM 4 KSSM CHAPTER 4
CHEMISTRY FORM 4 KSSM CHAPTER 4CHEMISTRY FORM 4 KSSM CHAPTER 4
CHEMISTRY FORM 4 KSSM CHAPTER 4
 
Bab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptx
Bab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptxBab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptx
Bab 3 Konflik Dunia dan Pendudukan Jepun di Negara Kita.pptx
 
Bab 4 ting 4 kssm 4.3
Bab  4  ting  4 kssm  4.3Bab  4  ting  4 kssm  4.3
Bab 4 ting 4 kssm 4.3
 
Bab 7
Bab 7Bab 7
Bab 7
 
MATEMATIK SEM 3 TRIGONOMETRI
MATEMATIK SEM 3 TRIGONOMETRIMATEMATIK SEM 3 TRIGONOMETRI
MATEMATIK SEM 3 TRIGONOMETRI
 
Pengurusan sisa merbahaya
Pengurusan sisa merbahayaPengurusan sisa merbahaya
Pengurusan sisa merbahaya
 
KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017
KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017
KERJA KURSUS PENGAJIAN AM PENGGAL 2 STPM 2017
 
Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...
Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...
Kuari ialah kegiatan atau lokasi perlombongan lubang terbuka bagi mendapatkan...
 
Bab 2 ekosistem
Bab 2 ekosistemBab 2 ekosistem
Bab 2 ekosistem
 
Sejarah (2.1) - (2.1.1) - (2.1.2)
Sejarah (2.1) - (2.1.1) - (2.1.2)Sejarah (2.1) - (2.1.1) - (2.1.2)
Sejarah (2.1) - (2.1.1) - (2.1.2)
 
Bab 2 nutrisi (Sistem pencernaan)
Bab 2 nutrisi (Sistem pencernaan)Bab 2 nutrisi (Sistem pencernaan)
Bab 2 nutrisi (Sistem pencernaan)
 
Latihan Formula Ion & Formula Kimia (for students)
Latihan Formula Ion & Formula Kimia (for students)Latihan Formula Ion & Formula Kimia (for students)
Latihan Formula Ion & Formula Kimia (for students)
 
form-1-science-chapter-5-part2
 form-1-science-chapter-5-part2 form-1-science-chapter-5-part2
form-1-science-chapter-5-part2
 
Kesan Kegiatan Manusia Terhadap Alam Sekitar
Kesan Kegiatan Manusia Terhadap Alam SekitarKesan Kegiatan Manusia Terhadap Alam Sekitar
Kesan Kegiatan Manusia Terhadap Alam Sekitar
 
Malaysia Dengan Ekonomi Antarabangsa
Malaysia Dengan Ekonomi AntarabangsaMalaysia Dengan Ekonomi Antarabangsa
Malaysia Dengan Ekonomi Antarabangsa
 
Kertas Penerangan Sains Am 2 Modul 1 Keadaan Jirim
Kertas Penerangan Sains Am 2 Modul 1 Keadaan JirimKertas Penerangan Sains Am 2 Modul 1 Keadaan Jirim
Kertas Penerangan Sains Am 2 Modul 1 Keadaan Jirim
 
1. Pengenalan Astronomi
1. Pengenalan Astronomi1. Pengenalan Astronomi
1. Pengenalan Astronomi
 

Ähnlich wie BEFLIX

Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko3D
 
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSEAU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSEThiyagarajan G
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secretsicastano
 
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)Matthew O'Toole
 
Auro tripathy - Localizing with CNNs
Auro tripathy -  Localizing with CNNsAuro tripathy -  Localizing with CNNs
Auro tripathy - Localizing with CNNsAuro Tripathy
 
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...inside-BigData.com
 
Masked Software Occlusion Culling
Masked Software Occlusion CullingMasked Software Occlusion Culling
Masked Software Occlusion CullingIntel® Software
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesDouglas Lanman
 
Studio and Outdoor Production
Studio and Outdoor ProductionStudio and Outdoor Production
Studio and Outdoor ProductionMila
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1qpqpqp
 
Computer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmComputer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmJyotiraman De
 
Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Saajid Akram
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกjibbie23
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกjibbie23
 

Ähnlich wie BEFLIX (20)

Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525
 
lecture2 computer graphics graphics hardware(Computer graphics tutorials)
 lecture2  computer graphics graphics hardware(Computer graphics tutorials) lecture2  computer graphics graphics hardware(Computer graphics tutorials)
lecture2 computer graphics graphics hardware(Computer graphics tutorials)
 
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSEAU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
AU QP Answer key NOv/Dec 2015 Computer Graphics 5 sem CSE
 
Cascades Demo Secrets
Cascades Demo SecretsCascades Demo Secrets
Cascades Demo Secrets
 
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
SIGGRAPH 2014 Course on Computational Cameras and Displays (part 3)
 
lecture4 raster details in computer graphics(Computer graphics tutorials)
lecture4 raster details in computer graphics(Computer graphics tutorials)lecture4 raster details in computer graphics(Computer graphics tutorials)
lecture4 raster details in computer graphics(Computer graphics tutorials)
 
Auro tripathy - Localizing with CNNs
Auro tripathy -  Localizing with CNNsAuro tripathy -  Localizing with CNNs
Auro tripathy - Localizing with CNNs
 
Cg Chap 02
Cg Chap 02Cg Chap 02
Cg Chap 02
 
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
Scratch to Supercomputers: Bottoms-up Build of Large-scale Computational Lens...
 
Masked Software Occlusion Culling
Masked Software Occlusion CullingMasked Software Occlusion Culling
Masked Software Occlusion Culling
 
Computer Graphics
Computer GraphicsComputer Graphics
Computer Graphics
 
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-PlanesBuild Your Own 3D Scanner: 3D Scanning with Swept-Planes
Build Your Own 3D Scanner: 3D Scanning with Swept-Planes
 
Cg lab cse-v (1) (1)
Cg lab cse-v (1) (1)Cg lab cse-v (1) (1)
Cg lab cse-v (1) (1)
 
Reyes
ReyesReyes
Reyes
 
Studio and Outdoor Production
Studio and Outdoor ProductionStudio and Outdoor Production
Studio and Outdoor Production
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
Computer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal AlgorithmComputer Graphics - Hidden Line Removal Algorithm
Computer Graphics - Hidden Line Removal Algorithm
 
Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
 
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิกการสอนครั้งที่ 2   intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
การสอนครั้งที่ 2 intro ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์กราฟิก
 

Mehr von Richard Thomson

Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdfVintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdfRichard Thomson
 
Automated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDashAutomated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDashRichard Thomson
 
Feature and platform testing with CMake
Feature and platform testing with CMakeFeature and platform testing with CMake
Feature and platform testing with CMakeRichard Thomson
 
Consuming Libraries with CMake
Consuming Libraries with CMakeConsuming Libraries with CMake
Consuming Libraries with CMakeRichard Thomson
 
SIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler IntrinsicsSIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler IntrinsicsRichard Thomson
 
Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++Richard Thomson
 
Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++Richard Thomson
 
C traps and pitfalls for C++ programmers
C traps and pitfalls for C++ programmersC traps and pitfalls for C++ programmers
C traps and pitfalls for C++ programmersRichard Thomson
 

Mehr von Richard Thomson (10)

Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdfVintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
Vintage Computing Festival Midwest 18 2023-09-09 What's In A Terminal.pdf
 
Automated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDashAutomated Testing with CMake, CTest and CDash
Automated Testing with CMake, CTest and CDash
 
Feature and platform testing with CMake
Feature and platform testing with CMakeFeature and platform testing with CMake
Feature and platform testing with CMake
 
Consuming Libraries with CMake
Consuming Libraries with CMakeConsuming Libraries with CMake
Consuming Libraries with CMake
 
SIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler IntrinsicsSIMD Processing Using Compiler Intrinsics
SIMD Processing Using Compiler Intrinsics
 
Modern C++
Modern C++Modern C++
Modern C++
 
Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++Cross Platform Mobile Development with Visual Studio 2015 and C++
Cross Platform Mobile Development with Visual Studio 2015 and C++
 
Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++Consuming and Creating Libraries in C++
Consuming and Creating Libraries in C++
 
Web mashups with NodeJS
Web mashups with NodeJSWeb mashups with NodeJS
Web mashups with NodeJS
 
C traps and pitfalls for C++ programmers
C traps and pitfalls for C++ programmersC traps and pitfalls for C++ programmers
C traps and pitfalls for C++ programmers
 

Kürzlich hochgeladen

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Kürzlich hochgeladen (20)

Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

BEFLIX

  • 1. Richard Thomson Director, Computer Graphics Museum @CGMuseum http://ComputerGraphicsMuseum.org info@ComputerGraphicsMuseum.org
  • 2. BEFLIX First Publication "A Computer Technique for Producing Animated Movies", Kenneth C. Knowlton AFIPS Conference Proceedings 25 (Spring Joint Computer Conference 1964)
  • 3. Hardware Environment  IBM 7090 computer  Card keypunch  Card reader  Line printer  Magnetic tape drive  Disc drive  Stromberg-Carlson 4020 microfilm recorder
  • 4. IBM 7090 Computer  IBM's first transistor based mainframe  First install November, 1959  Typical cost $2.9 million in 1960  Evolution of IBM 709 vacuum tube mainframe  Created for scientific/engineering markets  NASA: Mercury, Gemini and Apollo  JPL: Space Flight Operations Facility  American Airlines: SABRE
  • 5. IBM 7090 Computer  3 index registers  227 instructions  single-precision floating-point (36-bits)  36-bit words  32,768 words of core memory  2.18 µs memory cycle time  4.36 µs floating-point add time  4.36-30.53 µs floating-point multiply time
  • 6. IBM 7090 CPU and Memory
  • 10. Stromberg-Carlson 4020 Microfilm Recorder  Magtape drive for input  Charactron tube for creating image  16mm or 35mm film camera  Character beam can be defocused  Draw grayscale pixels as character blobs
  • 12. Language  BEFLIX is an Embedded DSL  Embedded ○ Embedded in another language ○ Hosted in FORTRAN II environment ○ Uses FAP (FORTRAN II Assembly Program) macro language constructs  Domain-Specific Language ○ Represent concepts from the problem domain directly
  • 13. Programming Model  Memory organized into surfaces  Coarse resolution: 126x92  Fine resolution: 252x184  3 bits/pixel  12 pixels/word  Enough memory to hold 2 fine resolution frames
  • 14. Fine Surface Designators Fine resolution alternatives: AA 252x184 BB 252x184 CC 252x368 VV 252x368
  • 15. Coarse Surface Designators Coarse resolution alternatives: WW 126x92 XX 126x92 YY 126x92 ZZ 126x92 PP 252x92 OO 378x92 FF 504x92 PP or WW, XX OO or WW, XX, YY FF or WW, XX, YY, ZZ
  • 16. Coarse Surface Designators Coarse resolution alternatives: WW 126x92 XX 126x92 YY 126x92 ZZ 126x92 TT or YY, ZZ SS or XX, YY, ZZ EE or WW, XX, YY, ZZ EE or AA TT 126x184 SS 126x276 EE 126x368
  • 17. Scanners  Scanners are named A...Z  Scanners live on a surface  Scanners have:  A coordinate within the surface  A value read from the surface  Manipulate a surface by conditionally performing operations on a scanner or between two scanners
  • 18. Low Level Operations  Place a scanner at a location on a surface  PLACE sc, surf, x, y  Conditionally perform some operations and jump  IFxxx (c1)...(cN)T(o1)...(oM)label  Evaluate each condition c1...cN  Combine them according to logical predicate xxx  If true, perform operations o1...oM  Optionally jump to label
  • 19. Low Level Operation Example IFANY (B,R,10)(B,A,C)(A,E,7)T(A,T,B)(A,U,2)(A,W,3)LOC5 If any of the following are true:  scanner B is Right of x=10  scanner B is Above scanner C  scanner A is sitting on a number Equal to 7 Then the following operations are performed:  scanner A moves To the same surface and pixel as scanner B  scanner A moves Up 2 pixels  scanner A Writes the number 3 to its pixel Then control jumps to the label LOC5 in the program.
  • 20. Scanner Conditions  Conditions are of the form (scnr,rel,quant)  scnr name of the scanner to be tested  rel relation between scanner and quant  quant can be a number or another scanner
  • 21. Scanner Comparison Relations  Compare scanner position to a value  Compare positions of two scanners  Compare scanner pixel to a value  Compare pixel between scanners
  • 22. Scanner Move Operations  Move to absolute X or Y coordinate  Move relative along X or Y axis  Move to surface and position of other scanner  Move to X or Y coordinate of another scanner without changing surfaces  Move one square based other scanner's pixel  Scanners wrap around surface boundaries in a helix
  • 23. Scanner Pixel Operations  Write pixel from value or other scanner's pixel  Write complement of other scanner's pixel  Exchange pixels between two scanners  +, -, *, / between two scanners (modulo 8)  bitwise OR and AND between two scanners
  • 24. Static and Dynamic Operations  Static operations happen immediately  Dynamic operations occur over multiple frames
  • 25. High Level Operations  Output control and temporary storage of pictures  Drawing primitives (line, arc, polyline, text)  BitBlt like operations on rectangular areas  Dynamic operations on rectangular areas  Macros using low-level operations
  • 26. Output Operations CAMERA n FRAMES n FILTER n TABLE n,c0,...,c7 AIM sc SAMPLE n LINES n FILM NOFILM UNTIL n,label RESET n COARSE FINE STORE surf,where RETREV surf,where
  • 27. Drawing Primitives LINE sc1,sc2,mode,ns,width,speed ARC sc1,ctr,d,mode,ns,w,speed,t1,w1,t2,q2 TRACE lb1,len,sc,orient,mode,ns,width,speed TYPE lb2,sc,size,hspace,vspace,mode,ns lb1 OCT n,(curve to be drawn by TRACE) lb2 BCI n,(text to be drawn by TYPE)
  • 28. Instant Rectangle Operations PAINT scTR,scBL,mode,ns BORDER scTR,scBL,width,mode,ns SHIFT scTR,scBL,dir,amount ROTATE scTR,scBL,dir,amount[,n] EXPAND scTR,scBL,dir,rep1,rep2 SQUASH scTR,scBL,dir,del,kp COPY scTR,scBL,mode,orient,sc3,sc4[,n] CENTER scTR,scBL GROW scTR,scBL,ns1,ns2,ns3,label SMOOTH scTR,scBL
  • 29. Dynamic Rectangle Operations DISOLV scTR,scBL,sc3,pat ZOOMIN scTR,scBL,fctr REDUCE scTR,scBL,fctr STRECH scTR,scBL,dir,fctr PRESS scTR,scBL,dir,fctr
  • 30. The Master Film  The SC2040 produces a master film  Duplicate frames are output only once  A repeat count is written above the frame  Repeated frames are duplicated by optical printing when the film is developed
  • 31. Workflow 1. Develop program in BEFLIX 2. Preview output samples on printout 3. Run program to create magtape 4. Load magtape into microfilm recorder 5. Produce master film 6. Optical print/expand to create work print
  • 32. Stan VanDerBeek Artist Stan VanDerBeek collaborated with Ken Knowlton on a series of films:  Poem Field No. 1 (1965)  Poem Field No. 2 (1966)  Poem Field No. 3 (1967)  Poem Field No. 4 (no date)  Poem Field No. 5 (1967)  Poem Field No. 6 (no date)  Poem Field No. 7 (1971)  Poem Field No. 8 (no date)  Collido-Oscope (1966) (VanDerBeek, Knowlton and Bosche)  Man and His World, 1967 (Shown at Expo '67)
  • 33. Poem Field No. 2 View the Video
  • 34. Looking Back at BEFLIX  BEFLIX is considered an "esoteric" programming language  Its unique syntax depends on the macro facilities of FAP  Later FORTRAN IV version resembled more traditional subroutine library  First(?) language for procedural animation
  • 35. Museum Exhibit Futures?  7090 simulation with BEFLIX implementation  No known source to BEFLIX exists?  7090 simulation is boring  7090 real experience was physical  VR exhibit?  BEFLIX IDE  Open source IDE to explore BEFLIX programs  Evolve BEFLIX to a GPU oriented language  Produce procedural moves in real-time