Since: Jan 25 1998
Updated: Oct 20 2001

Welcome to OmarVision! The OmarVision website is intended to show that programming is really easy and anyone can enjoy it. Sharing knowledge is just my way of trying to help creative minds explore their endless possibilites. The site has many, many sections which I have continually been trying to provide access to in a sensible organized manner.

Tutorials

Downloads

Projects

My Music

directx
opengl
glide
mfc
windows
algorithms
neural nets (A.I.)
operating systems
database
data structures
web development
c/c++ language
visual basic language
math

directx8 sdk (10mb)
directx8 runtime
directmedia6 sdk (25mb)
opengl sdk
glide3x sdk
glide2x sdk
conv3ds utility
texus utility

directmedia media file player
opengl raytracer
opengl polygon 3d library
shield game
sentinal game
farmsounds game
vb sprite editor
vb side scrolling level editor
 

directx

compiler setup - basic rules on how to setup the compiler for directx usage in microsoft visual c++ enviornment
directdraw fullscreen - example that shows how to setup directdraw in fullscreen mode
directdraw moving a sprite - example that shows how to animate(move) an image across the screen
directdraw scrolling - an example that shows how to quickly scroll a background, as in a side scrolling game
directdraw display numbers - an example that shows a way to display number graphics on a screen that could represent a game score
conv3ds utility - shows how to use the utility to make directx mesh models from 3dstudio *.3ds models
direct3drm fullscreen - example shows how to use direct3d retained mode to render a directx mesh file fullscreen in 3D
direct3drm autorotate - example shows how to use some of retained mode's auto animation capabilities
directsound single sound - example shows how to load and playback a wav file using directsound
directsound multiple sound - example shows how to load and playback multiple sounds simultaneously and at user's command using directsound
directmedia media file playback - example shows how to use directmedia to playback any mediafile the user's operating system has drivers for

opengl

compiler setup - how to setup microsoft visual c++ compiler to compile an application using opengl sdk
open a window (not using glut) - example of how to open an opengl graphics capable window and displaying some graphics in it
draw primitives (not using glut) - example of how to draw some primitive 2d polygonal shapes
open a window (using glut) - example of how to open an opengl graphics capable window, simpler using additional opengl glut library
3d polygons with lighting (using glut) - example of how to render 3d polygonal shapes with lighting

glide

compiler setup (glide2x) - how to setup microsoft visual c++ compiler for use with glide2x sdk. note: glide2x only works on VooDoo I cards
vertex 2d plotting (glide2x) - how to plot pixels in 2d using glide, a couple of examples
vertex 2d moving (glide2x) - how to animate 2d plotted pixels using glide, a couple of examples
vertex 3d plotting (glide2x) - how to plot pixels in 3d using glide, a couple of examples
texus utility - this utility enables user to make textures that you can map onto glide polygons. This tutorial shows how to use it
texture mapping (glide2x) - how to map a texture (made with texus) onto a polygon, couple of examples
transparency (glide2x) - how to render different levels of transparency to a polygon, couple of examples

mfc

open a window (no mfc wizard) - bare bones open a window example
process windows messages (no mfc wizard) - how to have application respond to messages sent from the windows operating system
process the paint message (no mfc wizard) - example of what you can do when application gets the windows paint message
process mouse message (no mfc wizard) - example of what you can do when application gets different windows mouse messages
menu usage (no mfc wizard) - example of how to create and use menus in application
message box usage (no mfc wizard) - example of how to create message boxes

windows

open a window (win32 api) - bare bone example of how to open a window using win32 api
win 32 functions (win32 api) - just a referential listing of some of the functions the tutorials use
play midi (mci library) - example of how to play a midi file using winmm.lib (mci library)
play midi looping (mci library) - example of how to play midi file and loop it
play audio cd (mci library) - example of how to play a regular audio cd from within your own application
play audio cd extra (mci library) - a second example of playing an audio cd with more features like track detection
mci functions - listing of some mci functions in a referential format
mci joystick notes - just some notes on joystick functions within mci library
windows tips a nd tricks - just some notes on things windows can do and how that are not made obvious by microsoft that I found useful

algorithms

graph coloring - example, on a map, what's the minimum amount of colors so no two adjoining states are the same color
n-queens - example, think of chess, how many queens can you place on a grid and where so that they are all safe from eachother
pentominoes - example, kind of like tetris or elementary school tanagrams, how to place shapes so they fill in a space totally
three sorting methods compared - heapsort, mergesort, quicksort example with graphical output of sort plan for ease of comparison
traveling salesman - eaxmple, how to get a traveler to all listed destinations with minimal amount of distance, time, cost or combinations of..

neural nets (A.I.)

neural net notes - just some notes on how neural nets try to model after the human brain learning functionality with a couple of learning rules
kohonen neural net - example program that graphically shows a kohonen net learning to categorize random inputs across its weight space
backpropagation neural net - (really not done yet)

operating systems

operating system overview - just some notes on what it is, the layers, and some technical terms
what is an operating system - just some notes on different types of operating system theory
processes - notes on multiprogramming, interprocess communication, mutual exclusion and busy waiting
process scheduling - notes on round robin, priority, shortest job first, and first come first served scheduling algorithims
memory management -notes on CPU utilization, and fixed and variable partitions
file systems - notes on user interfaces to files, and the system implementaion of files
deadlock - notes on detecting, modeling, avoiding preventing and dealing with dealocks. the bankers algorithm
input output - io devices, device drivers and controllers, principles of io, disks, clocks and terminals

database

concurrency control - transactions, schedules, consistency, interleaved execution, aborted transactions
know your ADO questions - some ADO questions and answers likely on interviews
VC++ CDatabase object - connecting to database
VC++ CDatabase object - adding a record by binding
VC++ CRecordset object - making a recordset object generically usable for any recordset at runtime

data structures

linked lists - a dynamically sizable linear data structure that relies on pointers and nodes
binary trees - a dynamically sizable tree-like ordered structure that relies on pointers and nodes

web development

 

c/c++ language

 

visual basic language

 

math

3d matrix operations - how to perform the math involved in transforming 3d polygonal meshes
3d vector operations - vectors represent motion and can be used in 3d animation, here is a breakdown of some useful operations
radians vs. degrees - how to convert from one to the other, you'll probably have to sooner or later with 3d graphics