Well.. I'm trying to get everything in a dll, but I haven't created dll's before, so I'm in a bit of a learning progress now
I did improve the culling, it runs at about 300 fps now using multithreading

It's also more accurate now.
If I can get the dll to work I will probaly release the culling in a dll, if not... I will stick to my old plan and release it along with my
game engine (and editor).
For those who are interested in the engine, these are the current features. (WIP comming soon)
- Easy to use material system
- Advanced lighting (From Evolved)
- Procedural map loading/streaming
- Real-time occlusion culling

- The basic stuff in the editor:
* Create/move/rotate/scale objects
* add/change materials
+ change texture stages using drag and drop
+ change shader
* Add/edit lights
- Some other stuff, just the highlights here, more info in the WIP comming soon
edit It's also very easy to code with. This will create a small room with a rotating wheel in the middle and some windows and a button:
wheel = new("GameObject") : attach$(wheel, "wheel.x")
room = new("GameObject") : attach$(room , "test.x")
mainCamera = new("Camera")
rootWindow = new("Window")
childWindow1 = new("Window")
childWindow2 = new("Window")
childWindow3 = new("Window")
childWindow4 = new("Window")
myButton = new("Button")
attach(childWindow1, rootWindow)
attach(childWindow2, childWindow1)
attach(childWindow3, childWindow2)
attach(childWindow4, childWindow3)
attach(myButton, childWindow4)
position(mainCamera,0,100,-200)
attach(mainCamera,wheel)
Do
turn(wheel,0,.5,0)
Sync
Loop