Toon posts:

[Realtime 3d desktop] Ervaringen.

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

Verwijderd

Topicstarter
Hoi tweakers, ik ben nu al sinds lange tijd bezig met de implementatie van een realtime 3d desktop, dit heb ik lange tijd geleden belooft aan jullie. Steeds vroegen mensen, geef de download link, nu is het project zo volwassen dat ik deze week de eerste mensen wil vragen om te gaan testen. Vanwege het gruwelijk complexe karakter van een realtime 3d Graphical User Interface zal ik het project vroeg of laat vrijgeven voor GNU open source op sourceforge. Toen ik voor omroep almelo de teletext decoder klaar had gemaakt, heb ik tegelijkertijd dit project geprobeerd af te ronden. Nu ben ik tot de conclusie gekomen:
1 Realtime windows in 3d renderen is een 'piece of cake', het is echt zo simpel.
2 De muis invoer en keyboard invoer realtime in een 3d wereld naar de juiste applicatie sturen is zo buitengewoon complex, de applicatie bestaat immers niet zomaar gewoon in 2d op de desktop, er is geen window meer dat de invoer ontvangen kan.

Wie wil de eerste proefversies testen en downloaden? Het programma is echt zo klein.

Dit is UConsole Command Line Interface running on AvD3DWindowStation
Afbeeldingslocatie: http://www.dieren-asiel.nl/billgates_you_are_breaking_the_law_of_robotics.jpg
Hier is een filmpje: Kijk naar het filmpje

De doorbraak die ik heb gedaan is dat het me toch is gelukt om realtime in 3d windows te laten draaien met realtime muis/keyboard invoer. Ik ben verder als de maker van sphere 3d, sphere 3d is meer een speelgoed ding vergeleken met dit.


Microsoft windows has two types of important message ques.

1 The system message que.
2 The application message que.

If you move your mouse or enter a key on your keyboard or any other user related input device, the system message que becomes filled with knowledge in the form of system messages.

For example see the video, many thousands of hours work.
See the realtime mouse/keyboard message relay working inside AvD3DWindowSystem codename Avalon(Avalanche).

It is not only seeing is believing, but the knowlegde that i can input mouse and keyboard realtime and from any camera point of view to the right application is a milestone.

Then inside USER32.EXE the system does window hittesting until a window has been found under the cursor. If it hits the system message que handler knows what application the message is to be sent to. If an application has the mouse in capture or the focus many hittest can be evaded and are not necessary.

You must understand that if you use:
SendMessage(HWND hwnd, WPARAM wparam, LPARAM lparam);

it goes straightly to the application belonging to hwnd, it means it will directly call the WndProc routine inside the designated process bypassing the system que or any other hook related things like SetWindowsHookEx. This is a process to process or inside process happening. Do not think to easily intercept such messages or route such messages, you'll see some messages but will not see all messages.

However if you use:
PostMessage(HWND hwnd, WPARAM wparam, LPARAM lparam);

It goes to the system que, the message is assigned a time of event, and you'll can simply see the messages and intercept them.

However i was not satisfied, i wanted more, i wanted to go inside USER32.EXE, how would i do it? I want to control all messages including the system message que, however the things are inside something that i can not modify legally. So i found a gate, an open port inside windows. I call it the 'Atlantic Wall'.

Everything behind 'The Atlantic Wall' is realtime rendered in a 3d environment called AvD3DWindowStation. How would i be able to send messages to applications without getting the source code of USER32.EXE and modify and compile it? Here is the problem, i must modify windows xp USER32.EXE and KERNEL to support all applications without porting problems, so now i must be satisfied with some applications not able to run realtime rendered in a 3d environment. And what is more important, realtime controlling the application because i am inside USER32.EXE. Inside RING0, not running in USER mode, i can onthefly replace USER32.EXE code with my own intercepting code to forfill the functions. This means several years of coding, several miljons of code lines, it is so gruwesome complex. It took years of knowledge but the actual implementation is so fast that i will release it on judgement day coming the 4th of july. It means i have become more innovative as microsoft is. It means one person is as smart as all that microsoft programmers working together, wich makes me feel sad. Microsoft always lets other companies innovate, then they steal the product. That is the 'sadly' trueth. Microsoft is a dangerous enemy like they say, ' Microsoft is a cutthrouting business oppenent'.

[Operating System Design] Q&A Why did windows 9x crash so frequently?


Windows 9x was in fact 16 bit and 32 bit simultaniously together. How is there a relation between a 32 bit process and a 16 bit process inside windows 9x? Both 32 bit as well 16 bit processes used a shared memory area between 2 Gigabyte and 4 Gigabyte addressable memory range. This means that even 32 bit processes share the block between 2 Gigabyte and 4 Gigabyte. You soon understand the danger, windows 9x is not protecting processes completely against each other. Windows 9x Graphics Device Interface needs for example this addressable memory area so all processes share the same GDI resources inside windows 9x. Microsoft hardcoded a GDI heap of 64 kb handles. This means 65535 resource pointers. A resource is like a bitmap, you select the bitmap into the GDI but this cannot be done before you aquired such a GDI handle. Many people sufficed from resources getting nowhere, so this means 'all processes sooner or later go down all together.' That is windows 9x sooner or later due to its design flaws (bugs) is gonna crash no matter how well you design your program, it is the operating system design.

How did microsoft tried to avoid the crash on windows 9x systems? Microsoft for every process did some bookkeeping to increase reference count for resources or decrease reference count. If a process terminates unexpectedly for example, all referenced resources are registered for an invalid process. However because there was the 2 gigabyte leak between all processes even 32 bit processes, you understand that simply bookkeeping was not enough. What do you see to happen if you delete a resource in a shared memory section wich is registered as valid but meanwhile the executable crashed while the handle was selected inside the Graphics Device Interface? The video card driver happily driving inside your system in kernel mode got a valid GDI handle, while using the handle, the application suddenly crashes, the videocard driver continues to use-the now invalid GDI handle-. Now the CPU reads from memory adresses in the shared addressable memory range, and bang you are out of luck, another crashed windows 9x again.

Ik zoek een tweaker die bij me thuis langs wil komen met de videocamera zodat ik eindelijk een goede opname kan maken. Bel me op m'n mobiel als je een keertje zin hebt, 06-BELME, vraag naar Geert, het is de bedoeling dat ik het project vrij geef aan de open source wereld, immers microsoft is te sterk om alleen aan te kunnen. En microsoft zal vroeg of laat net zoiets maken.

[ Voor 5% gewijzigd door NMe op 17-04-2005 14:57 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 23:36

gorgi_19

Kruimeltjes zijn weer op :9

Ik zie weinig mogelijkheden voor dit topic in Programming & Webscripting :) Qua ontwikkeling voor een groepsproject zie ik dit niet zitten en zijn er ook te weinig mogelijkheden voor. Sowieso dien je eerst van te voren te overleggen, wil je zo een topic openen. Echter, het topic heeft me veel te veel weg van een productpresentatie in combinatie met productpromotie. Dit laatste alleen al door de zin:
Ik zoek een tweaker die bij me thuis langs wil komen met de videocamera zodat ik eindelijk een goede opname kan maken.
Oftewel: deze gaat dicht :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op zondag 17 april 2005 @ 14:40:
Steeds vroegen mensen, geef de download link, nu is het project zo volwassen dat ik deze week de eerste mensen wil vragen om te gaan testen.
Je zoekt dus testers? Prima, maar daar is GoT niet de plek voor. Werving van mensen voor wat dan ook zien we hier liever niet. Zie ook Het algemeen beleid #spam

Als je je eigen product wilt shown dan hebben we daar een centraal topic voor: [rml][ Alg] Welke tools heb jij gemaakt - deel II[/rml]

* Creepy aait gorgi_19...

[ Voor 6% gewijzigd door Creepy op 17-04-2005 14:58 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.