u31b3hs@cip-s03.informatik.rwth-aachen.de (Michael Haardt) (09/14/90)
In the article "Graphics Lib, GUI, ..., "X Lit"?", H T Bunnell made some suggestions for grafics with MINIX. He posted it yesterday, so I don't include it. I made some experiments considering grafics in Minix. I need grafics to write a previewer for my own little troff. I use HGC and this are my experiences related to the suggestions: 1. I use four virtual terminals in textmode. My programs always use page 2 for grafics, so that no terminal screen is corrupted after returning to text mode. Therefore, I woldn't like a screen always running in bitmapped mode. Virtual terminals are fine and fast. 2. A. Directly read or write to a /dev/screen device will be *very* slow for drawing lines or something like that. I tried to access video memory through /dev/mem and my 386 seems to be an 8088. B. A better solution, but it takes a lot of memory from the data segment. I use this at the moment, and it is fast. It will not run with a VGA because of its big video memory. This solution only works with HGC and CGA because of the low resolution. C. The best solution. I don't know much about grafics terminals, but I would like to have line and circle drawing capabilities in the kernel. They can directly adress video memory or a grafics processor. This solution will be small, very fast and a little bit machine independent. (And a lot of work...) 3. In my opinion, character generation should be made bye the user program. There are too many ways for integrating an universal solution in the kernel. I use the Hershey fonts for my troff. I am currently writing and debugging :-( this program. My troff isn't full troff, but better than Minix nroff. The output is very nice and I will never use DOS for a textformatter. I use a device independent file format for grafic output which is processed by device drivers programs do get the final output. troff never knows the device which will process its output. To prevent misunderstandings: this are no /dev/* drivers. My troff is not finished at the moment, so please do not email me for more details. I will post more about it, when it is complete. Michael Haardt "Englich is not my native language..." ------------------------------- ciao ----------------------------------
matthew1@stretch.cs.mun.ca (Matthew J. Newhook) (09/15/90)
u31b3hs@cip-s03.informatik.rwth-aachen.de (Michael Haardt) writes: >In the article "Graphics Lib, GUI, ..., "X Lit"?", H T Bunnell made >some suggestions for grafics with MINIX. He posted it yesterday, >so I don't include it. >I made some experiments considering grafics in Minix. I need grafics >to write a previewer for my own little troff. I use HGC and this are >my experiences related to the suggestions: >1. I use four virtual terminals in textmode. My programs always use > page 2 for grafics, so that no terminal screen is corrupted after > returning to text mode. Therefore, I woldn't like a screen always > running in bitmapped mode. Virtual terminals are fine and fast. >2. A. Directly read or write to a /dev/screen device will be *very* > slow for drawing lines or something like that. I tried to access > video memory through /dev/mem and my 386 seems to be an 8088. Why don't you integrate the graphics primitives (ellipse, line, pixel, pattern fill etc...) rendering in the kernel? I've just written a fairly comprehensive set of graphics primitives for an atari ST, and it would definitely would not be hard to change to work on a PC. The only difference would be the calls to render_pixel, render_byte and solid_rectangle. These could be made pointers to functions to account for different video cards (or different machines), so all of these primitives would be portable... It wouldn't add that much code to the kernel, and it sure would make the graphics fast, and efficient. >Michael Haardt >"Englich is not my native language..." >------------------------------- ciao ---------------------------------- -- ----------------matthew1@stretch.cs.mun.ca "Living in the limelight; the universal dream for those who wish to seem. Those who wish to be must put aside the alienation, get on with the facination, the real relation, the underlying theme" - Rush