DEXVID3D 3d video card driver I was thinking about drivers and the whole naming convention. I've been starting to play with some 3d, mostly old stuff, kind of where I last left off around 10 years ago :)
I would like to propose some 3d video drivers apart from the 2d or gui drivers.
ID: DEXVID3D
1)set mode (I was thinking 256 color min)
2)clear screen
3)camera position / direction / fov
4)light and type of light, color, brightness
5)flat shaded triangles (points, normals, color, defusion)
6)Phong shaded triangles
7)textured mapped triangles
8)redraw screen ?
I was thinking my self about doing a vga one that supports mode 13 (320x200) and mode x (320x240) Then another for Vesa 1.2 and all of it's modes that are 256 or more colors.
I've been playing with it a little and need to work out the details some. The safe thing would probably be to dig up a much info about what the 3d graphics cards want for triangle , light and camera info and format the data some what close to those.
tonyMac- 05-07-2008
That would be great, roboman. :) The newer cards have some crazy stuff they'll do, perhaps looking at an OpenGL implementation could help.
Dex- 05-07-2008
I agree with tonyMac sounds cool, And as you are the first to code one for DexOS, your are in the best to work out the pros and cons of the design (i know nothing about 3d programming).
So set the function's as you would want than, if you find any problems on the way you are free to change it, once we have a work driver, that you are happy with than it can lay it out in stone for 3D driver interface.
Things to note, use the first numbers for what you think every 3D driver should have eg: min driver, than the extra go after that.
Also you could use ebx with 1 for modes (just a example), than a second reg for differant modes.
Here is a link to some asm 3D code for voodoo3 card may help ?
http://www.homepage.swissonline.ch/tinyasm/v3.htm
Look forward to what you come up with.
Regards Dex.
tonyMac- 05-07-2008
Wow, a voodoo3? It's been a while since I heard of them... It's a shame they went like they did, they used to make some good cards.
roboman- 05-08-2008
Well that link kept me up half the night. Thanks, ya, I'll check out DirectX, OpenGL Masa ect. I 'll try to do something that isn't to odd and un-usable :)
roboman- 05-30-2008
http://home.comcast.net/~dexos/vga3d.zip
No actual 3d stuff yet, just some basic setup stuff.Been reading and playing with triangles and matrix math. I'm starting on thr triangle functions right now. With a fast cpu and good front side bus, vga isn't nearly as bad and deadly slow as it was back with a 486-25 :) I was also mostly into Pascal and Basic then...
L8r
Steve
Dex- 05-31-2008
Great work roboman, works great on all my test PC's, this is the sort of code i wanted codes to add, from the start of DexOS.
As me and the other team member are so busy with the kernel or work.
I look forward to coding some games with it or demos.
Also it will be a big part of a ver i have been planing for some time, that is a OS based on DexOS, that turns old PC into learning PC for young children.
Like the v-tech TV learn computer
http://www.vtechuk.com/_download/SSTECKUE.pdf
Thanks again, regards Dex.
'ra- 05-31-2008
I've try it on VPC and I got only a black screen. Probably, the driver doesn't compatible with VPC display driver.
But I'm interested with the SCREENY.DEX demo. Is there any chance to get the source just to learn about it. I guess, Vesa 3D is more interesting since it's offer 800x600 or higher resolution and possibility to evolve into something like OpenGL.
I think to get these 3D programming expand into wider uses in DexOS, some drawing functions available in the memory. Then user could use them to create 2D or 3D library for gfx app and games.
Dex- 05-31-2008
Sure, but the program user's the 3d code from a screensaver by crown-s-soft, for which theres a windows, linux, dos, menuet, DexOS screensaver.
You can get the code here: http://www.crown-s-soft.com/screensaver.htm
If you still want the DexOS ver let me know and i will post.
roboman- 06-01-2008
With out going into a lot of detail, video mode 13h (320x200) is probably the most straight forward graphics video mode to write for, but my driver does all of it's writes directly to ram or the video card ports, so may not be liked by emulators. Mode 13h should be on all the video cards that claim vga compatibility, but should be and is aren't the same... After things are working in that driver I'll work on a Vesa 1.2 driver, that include modes up to 1280x1024 16.8M color. Then a Vesa 2 driver might be called for, mostly for better speed. Vesa 3 never really got enough support to make it worth it. After that card specific drivers that use the hardware accelerated would be the next logical step.. That's way ahead of things though.
I'm working on the triangle functions for VGA mode 13h right now, as well as the render modes. The main goal is to keep it simple, fast and compatible across the board. This is a project that fits in between work, major upgrades to an old house, setting up a workshop, a large garden and all the other things to keep the wife happy... SoIt's not going as fast as I or probably others would like.
Where it's at right now might make a good break off point for a 2d driver, if that was some one elses interest....
'ra- 06-02-2008
Sure, but the program user's the 3d code from a screensaver by crown-s-soft, for which theres a windows, linux, dos, menuet, DexOS screensaver.
You can get the code here: http://www.crown-s-soft.com/screensaver.htm
If you still want the DexOS ver let me know and i will post.
It would be nice to have the DexOS version. It will help learning about writing app for DexOS.
'ra- 06-02-2008
After things are working in that driver I'll work on a Vesa 1.2 driver, that include modes up to 1280x1024 16.8M color. Then a Vesa 2 driver might be called for, mostly for better speed. Vesa 3 never really got enough support to make it worth it. After that card specific drivers that use the hardware accelerated would be the next logical step.. That's way ahead of things though.
This would be interesting. I'll vote for DexGL if your could develop similar the OpenGL library using Vesa software rendering.
solidus117- 06-08-2008
Also have a look at the MeOS/Kolibri distribution. A guy there has been doing some very nice work with regards to displaying 3D models and lighting and particle effects.
roboman- 06-08-2008
Thanks, I'll take a look. What I have now was nice as a doorway in, to do a bunch of testing and see lots of problems. Lots of incites into why OpenGL and DirectX are the way they are. I've started a rewrite.
solidus117- 06-08-2008
Hehe, it all starts with a matrix!
Forumer™ is Voted #1 Free Forum Hosting provider
Build your own community today with the largest message board hosting company.