WO2002031776A1 - Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface - Google Patents

Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface Download PDF

Info

Publication number
WO2002031776A1
WO2002031776A1 PCT/IL2000/000649 IL0000649W WO0231776A1 WO 2002031776 A1 WO2002031776 A1 WO 2002031776A1 IL 0000649 W IL0000649 W IL 0000649W WO 0231776 A1 WO0231776 A1 WO 0231776A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
visually
component
dimensional object
user interface
Prior art date
Application number
PCT/IL2000/000649
Other languages
French (fr)
Inventor
Lior Messinger
Original Assignee
Noks-Com Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Noks-Com Ltd. filed Critical Noks-Com Ltd.
Priority to AU2000278161A priority Critical patent/AU2000278161A1/en
Priority to PCT/IL2000/000649 priority patent/WO2002031776A1/en
Publication of WO2002031776A1 publication Critical patent/WO2002031776A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Definitions

  • the present invention relates to a method for displaying three-dimensional visual entities on a computer video display area, in general and to a method for loading three-dimensional objects into a video display area of a computer associated with a two-dimensional graphical user interface environment, in particular.
  • a desktop is a metaphor used to illustrate visually computer file systems by utilizing a display area, which simulates a real office desktop in a graphical user interface environment associated with a computer system.
  • a window is also used to illustrate the same computer file system.
  • the display area typically contains a continuous visual background texture and pictures such as icons, which are loaded into it.
  • the icons are graphical entities representing the kinds of objects one might find on a genuine desktop or window such as cabinets, files, folders, phonebooks, telephones, reference sources, writing instruments, drawing tools and miscellaneous documents such as letters, reports, notes and the like. Icons can be arranged on the simulated desktop or window just as real objects can be arranged on a real desktop by moving them around, putting one on the top of another, or throwing them away.
  • a desktop can be contained in a window area that is a portion of the total display area, or can be "full-screen", that is, the desktop can be disposed along the entire length and width of the displayable area.
  • a plurality of desktops or windows might exist for diverse projects or work environments respectively with the added option of switching among the different desktops or windows. At present practically all the operative desktop and windows environments are implemented within two dimensional graphical display systems.
  • Some advanced applications require the option of overlaying selected portions of a desktop or window with externally created visual objects or displaying the suitable objects on the desktop or window beside the existing icons therein.
  • the requisite visual objects are preferably three-dimensional (3-D) that is having, or seeming to have the dimension of depth as well as width and height and thereby providing perception of depth.
  • 3-D three-dimensional
  • standard techniques required the use of a rectangular bounded window surrounding the specified displayable object.
  • Novel techniques such as Microsoft Agent developed and distributed by Microsoft Corporation effect loading of the objects independently without the bounded frame.
  • current operational methods support only the insertion and the display of objects limited to two dimensions (length and width) as the insertion of a three-dimensional object to a typical desktop or operative window involves some highly complex operations such as calculating the boundaries of the 3-D object.
  • One aspect of the present invention regards a computing environment established on a computer platform that includes a central processing unit, a communication device, a video display device, and a storage device.
  • the storage device includes an operating system, a graphical interface application, and a method of loading visually three dimensional objects into a video display area associated with images representative of two graphical interface application components.
  • the method consists of establishing an environment operative in handling visually three dimensional objects, capturing the visually representative image of a graphical interface application component, selectively handling messages responsive to system events which are sent by the graphical interface application component to the operating system for appropriate processing, and iteratively displaying and manipulating a visually three dimensional object integrated with the captured image of the video display area representative of the graphical interface application component.
  • a second aspect of the present invention regards a computing environment established on a computer platform.
  • the computer platform includes a central processing unit, a communication device, a video display device, and a storage device.
  • the storage devices includes an operating system, a graphical interface application, and a system for controlling the method of loading of visually three dimensional objects onto the video display are of the video display device associated with images representative of the graphical interface application components.
  • the system includes a three dimensional object loading driver component, a subclass component to capture the representative image and the messages originated by the graphical interface application component, and a set of data structures representative of a three dimensional object.
  • a third aspect of the present invention regards a computer system established on a computer platform that includes a central processing unit, a communication device, a video display device, and a storage device.
  • the storage device includes an operating system controlling a graphical interface application, and a method of integrating visually three dimensional objects with visually two dimensional images representative of a graphical user interface.
  • the method consists of locally establishing an operative environment for the processing of three dimensional objects, capturing a displayed image visually representative of a graphical user interface component, selectively processing messages indicative of system events which are sent by the graphical user interface component to the operating system for appropriate processing, and repeatedly projecting, moving and rendering a visually three dimensional object in combination with the captured image of the video display area representative of the graphical user interface component.
  • Each of the above aspects of the present invention provides the advantage of loading a visually complex, free-form, non-rectangular three dimensional object into a display area occupied by a two dimensional image representative of a graphical interface application component.
  • Each of the above aspects of the present invention provides the advantage of selectively modifying the appearance of the displayed three dimensional object in coordination with the changes in the appearance of the two dimensional image representative of the graphical interface application component.
  • Fig. 1 is a pictorial representation of a computing device which can be utilized to implement the method and system of the present invention
  • Fig. 2 depicts a block diagram illustrative of selected components in a personal computer system which can be utilized to implement the method and system of the present invention
  • FIG. 3A, and 3B are block diagrams illustrative of selected components in a personal computer system operative in the operation the method and system, according to a preferred embodiment of the present invention
  • Fig. 4 is a flow diagram that shows step utilized to carry out the method and system of the present invention, according to a preferred embodiment of the present invention.
  • a new and novel method and system for the loading of visual three-dimensional objects into two-dimensional graphical environments is disclosed.
  • the method and system provides the option of dynamically overlaying visually complex, free-form, non-bounded, static or animated graphical entities, having the dimension of depth in addition to the dimensions of length and width and thereby providing enhanced depth perception, on two dimensional dynamic visual frames displayed on suitable video display devices of a computing device.
  • the method involves the use of the sub-classing technique
  • the system providing the two dimensional graphic background is Microsoft Windows 95/98 or Windows ME developed by Microsoft Corporation
  • the loadable three dimensional objects are graphical entities used as virtual objects, such as toys or characters, having interactive capabilities.
  • the operating system could be any other operating system associated with a graphical user interface-oriented environment such as Linux, X- Window, Windows NT, Windows 2000 or OS/2 and the loadable 3-D objects could be entities representing virtual guides for e-commerce shop-fronts or virtual helpers assisting clients running a specific software application implemented in a computing environment. Any other three dimensional object which can be visualized on a display is contemplated as well.
  • the proposed method and system utilizes the window procedure sub-classing technique.
  • the proposed method and system utilizes the window procedure sub-classing technique.
  • a window is a distinct display area on a computer display screen in a system that allows multiple display areas as part of a graphical user interface. Every window has an associated window procedure, which includes a set of functions designed to process all the messages sent to the window.
  • a message is an infoimation unit generated by a particular window-related operation or event such as a keystroke or a pointing device-related action. All aspects of a window's appearance and behavior depend on the window procedure's response to the messages.
  • the operating system allocates a unique identifier to the window such as a Handle, and a block of memory for storing information specific to the window, including the address of the window procedure.
  • Sub-classing is a method that allows a specific software application to intercept and process the messages sent to a particular window before the window procedure message-processing functions are activated.
  • a software application can augment, modify, or monitor the behavior of the window.
  • An application may sub-class a window by replacing the address of the window's original window procedure with an address of a new window procedure. Thereafter the new procedure receives any messages sent to the window.
  • the new window procedure can perform a number of alternative actions upon receiving a message.
  • the message can be passed unprocessed to the original window procedure, or can be modified prior to being passed, or can be processed and not passed to the window procedure.
  • the code for the functionalities of the various windows such as the window or a desktop window is embedded within the respective operating system.
  • code modifications is not a viable option.
  • messages controlling the appearance and behavior of the desktop or a window can be intercepted and handled by utilizing the above-described sub-classing technique.
  • a user operating a computing device such as a personal computer or a personal data assistant and the like initiates a software module in order to load and process a 3-D visual object encoding a specific image.
  • a software module can be a desktop application or a Windows application such as a utility or productivity software application or a video game and the like.
  • the present method and system can be used for a wide variety of purposes such as for business-related applications such as word processing and for graphical processing applications and for game or other related applications. It will be appreciated that the present method and system can be utilized by any software application required to load and process a 3-D visual object encoding a specific image.
  • the image preferably representing a virtual 3-D visual object such as a toy figure or a character that is displayed on the desktop window or in a window of the personal computer device.
  • the 3-D image could be static or animated and could have specific interactive capabilities such as the performance of a series of predefined movements according to predefined events such-, as keyboard presses, pointing device clicks or movements and the like.
  • the user preferably interacts with the 3-D image by manipulating the suitable hardware components of the computing device that will evoke the appropriate events.
  • the image may be a virtual electronic device figure or character which is displayed on the desktop window or a window of the personal computer device and predetermined events will instruct a user of the method for operating said electronic device.
  • a driver routine is created in association with a Dynamic Load Library (DLL) module.
  • DLL Dynamic Load Library
  • a DLL includes a set of computer program functions to be used by an executing computer program.
  • the DLL includes functions related to the handling of
  • the DLL also provides a new window procedure, which will be denoted as the "subclass procedure" in the text of this document.
  • the driver routine calls the hook function embedded in the DLL module, which obtains the window or the desktop handle.
  • a hook is created on any messages of the windows or the desktop by replacing the window or the desktop procedure with the subclass procedure within the DLL.
  • a 3-D environment is created, and initialized. Next the window or the desktop window screen is captured by the DLL.
  • the driver routine passes parameters pertinent to a displayable 3-D object to the
  • the DLL loads the 3-D object files and renders the 3-D object as a 3-D image into the window or the desktop window in an iterative manner by utilizing the previously captured window or desktop screen (as the case maybe) as background to the 3-D image.
  • the subclass procedure continuously taps all the messages sent to the specific window or desktop from the operating system and according to the relevant received messages appropriately manipulates the displayed 3-D image.
  • the window or desktop was selected as the object of the manipulation by the described sequence of actions.
  • the reference made to the desktop window also refers to a window generated an operating system allowing multiple display areas.
  • Such can include a Microsoft
  • Windows operating system window or a Linux operating system window usually used for associated with a procedure, and the like. It is important to note that the desktop window is used in the text of this document as an exemplary component only. In other preferred embodiments of the present invention all the operative windows of a specific graphical user interface can be utilized and manipulated in the above-described manner. According to the teaching of the present invention the entire set of windows that are created, operated and maintained by a specific operating system through an appropriate interface can be individually and separately sub-classed, hooked, captured and being advantageously overlaid with specific 3-D images.
  • FIG. 1 a pictorial representation of an exemplary computing device in which the present invention may be implemented.
  • a personal computer system 10 is depicted which includes a system unit 11 and a video display terminal 12.
  • input devices 5 such as an alphanumeric keyboard, a pointing device such as a mouse
  • Computer 10 can be implemented utilizing any suitable computer such as IBM model 6663 a product of the IBM Corporation or any available PC. Although the depicted embodiment involves a personal computer, a preferred embodiment of the present invention may be implemented in other types of computing devices such as hand held personal data assistants, cellular devices and the like. Computer 10 also preferably includes a graphical user interface associated with an operating system such as Windows 95/98 a product of Microsoft
  • Video display terminal 12 contains a display screen 14 exhibiting a typical graphical user interface window such as the desktop display window 16.
  • Desktop display window 16 comprises a 2-D background texture or wallpaper 13, and a plurality of 2-D images 20,22,24,26,28.
  • Desktop window 16 further contains 3-D image 18 rendered from suitable 3-D object files representing a virtual 3-D visual object such as a toy figure or a character entity. It will be appreciated by those skilled in the art that the same composition of objects may exist within a window associated with a particular windows procedure distinct from said desktop and visually operative and displayed on top of desktop window 16.
  • FIG. 2 there is depicted a bloc diagram of selected components in personal computer 10 of Fig. 1 in which a preferred embodiment of the present invention may be implemented.
  • Personal computer 10 of Fig. 1 preferably includes a Central Processing Unit (CPU) 36, a communication device
  • CPU 36 is the computational and control unit of personal computer 10.
  • CPU 36 fetches, decodes, interprets and executes instructions and transfers information to and from various local computer resources.
  • Communication device 38 supports the transfer of information units to and from personal computer 10 to remote computing devices via suitable communication lines.
  • Communication device 38 is operative in connecting personal computer 10 to data communication networks such as the Internet by utilizing suitable communication tools and applications such as network browsers.
  • Video display device 40 provides information display capabilities such as viewing structured frames of data edited and organized by graphical user interface services.
  • Device 40 is also capable of displaying two and three-dimensional images that represent files stored in the storage device 42 of computer device 10.
  • the images displayed are graphically rendered visual structures such as characters, icons, fonts, sprites, photographic frames, animation, video clips, and the like.
  • Storage device 42 which is preferably a disk device such as a hard disk, holds the various software files and data structures instituting an operatively running computer system.
  • Storage device 42 includes operating system 44, Application Driver routine 46, DLL module 48, 3-D object files 56, Window (desktop or other window) 62, captured desktop or window screen 58, and rendered 3-D object 60.
  • Operating system 44 supervises and controls the operation of the computer system.
  • Operating system 44 allocates memory, handles I/O units, and manages files, controls communications, queues, processes and the like.
  • Window 62 is a memory block containing data relevant to the operation of specific desktop (or window) 16 of Fig. 1.
  • Window 62 contains desktop or window screen 66, and desktop or window handle 64.
  • Desktop or window handle 64 is a unique number issued by the operating system in order to provide identification to a specific component resource.
  • Application driver 46 is the routine responsible for accomplishing the 3-D object display process. A user of application activates application driver 46.
  • 3-D object files are suitable data structure storing 3-D object-related data in various predefined formats.
  • Captured desktop or window screen 58 is an image file holding the copy of the desktop or window screen 66.
  • Rendered 3-D object 60 is an image file holding the reconstructed image of 3-D object 58.
  • DLL 48 is a Dynamic Link Library module loaded into memory by Application driver 48. DLL 48 contains hook module 50,
  • 3-D parameters handler module 52 and subclass procedure 54.
  • the functionalities and the operation of the modules embedded in the DLL 48 will be described hereunder in association with the following drawings.
  • FIG. 3A illustrates a block diagram illustrative of the components and execution paths operative in the hooking phase of the proposed method.
  • Application driver 46 is activated by a user (not shown) in order to load and display a 3-D object on the desktop (window) 16 of Fig. 1. Consequently Application driver 46 performs a call (68) to DLL 48.
  • Driver 46 sends (68) call carrying parameters concerning 3-D object 56 such as 3-D object name and the like to the DLL 48.
  • DLL 48 obtains (70) the desktop or window handle 64, captures (72) desktop or window screen 66, and saves (74) captured desktop or window screen 58 into a memory buffer.
  • Fig. 3A illustrates a block diagram illustrative of the components and execution paths operative in the rendering phase of the proposed method.
  • DLL 48 loads (78) 3-D object file 56 and renders (80) in an iterative manner rendered 3-D object 68.
  • the DLL 48 via the subclass function embedded therein, intercepts (76) all the messages sent to window 62 from operating system 44 and according to the intercepted message content modifies (80) rendered 3-D object 60.
  • 3-D development includes tools to create and integrate graphic images, overlays, sprite, and other elements, including sound.
  • a number of known technologies could be used for creating 3-D effects such as DirectX manufactured by Microsoft Corporation.
  • DirectX is an application program interface for creating and managing graphic images and multimedia effects in applications such as games or active Web pages that will run in Microsoft's Windows 95/98+ operating system.
  • Such an application program might be written in C++, or Visual C/C++, or Java.
  • DirectX two modes - Retained and Immediate may be used in conjunction with the present invention.
  • Other technologies that could be used for the development and handling of 3-D objects are VRML and OpenGL.
  • the Virtual Reality Modelling Language (VRML) could be used to specify images and the rules for their display and interaction using textual language statements.
  • the DirectX application developed and distributed by Microsoft Corporation is used for the creation of the 3-D effects. It will be easily perceived that in other embodiments of the present invention other 3-D engines could be used.
  • the 3-D object is encoded into the so-called "X" format.
  • the object encoded into the said format has among others the following sub-objects:
  • a set of bitmaps representing textures on the object's surfaces 2) A set of bitmaps representing textures on the object's surfaces 3) Sets of positions and times for the named 3-D sets in order to represent the object's animations, the position in a first point in time, and the position in a second point in time.
  • the hooking of the window is established.
  • a message is sent to the window containing the name of the 3-D file.
  • the 3-D object is loaded into the memory subsequent to the calling of the DirectX Load function.
  • the driver application sends the hooked window a 10 Hz frequency WM_TIMER message.
  • the hooked window calls first the DirectX function Move to move the animated object.
  • the hooked window calls the DirectX function Render to render the object's new position on the display screen.
  • the DirectX Move function is operative in animating the 3-D object.
  • the animation is performed by interpolating between the angular positions, scales and other parameters of the 3-D object in respect to a first and a second point in time, and setting the positions of the 3-D point sets according to the interpolations.
  • the DirectX Render function is operative rendering the 3-D object.
  • the rendering is performed by iterating on the current positions of the entire set of 3-D points, project the points from a 3-D coordinate system to a 2-D screen under a perspective projection, and paint the appropriate textures on the surfaces of the 3-D objects.
  • DirecX Retained mode is used to accomplish the desired result.
  • Other environment, such as DirectX Immidiate may be used to accomplish this result.
  • Fig. 4 is a flow diagram that shows the steps utilized to carry out the method and system of the present invention, according to a preferred embodiment of the present invention.
  • the process is initiated.
  • the user (not shown) of the system activates an application driver routine.
  • Application driver routine performs a call to the hook module embedded in the DLL module.
  • To subclass a window the application program must have a handle to the window.
  • the hook function of DLL module obtains the desktop / window handle at step 82, and creates a hook on the operating system messages.
  • the subclass procedure embedded within the DLL captures the desktop or window screen, and at step 86 the 3-D environment is initialized as preparation for the processing of the 3-D object files.
  • step 88 the application driver calls 3-D parameters handle routine in DLL with the parameters specifying the 3-D object files such as the object name.
  • the parameters are received and processed by 3-D parameter handler module and consequently the DLL loads the specific 3-D object files (step 90).
  • the 3-D object files are rendered into the 3-D object image that is sent to the desktop or the window overlaid on the previously saved desktop or window screen (step 92).
  • the desktop or window is sub-classed by the subclass procedure of the DLL all the messages directed to the desktop or window are intercepted by the subclass procedure at step 96. Messages irrelevant to the appearance and behavior of the displayed 3-D image are routinely forwarded to the original window procedure of the desktop or window. Messages that may affect in some manner the appearance and behavior of the displayed 3-D image are utilized to activate appropriate 3-D-related functions to re-draw, re-render, or suitably modify the 3-D image displayed on the desktop or on the window (step 98).

Abstract

A method and system for loading three dimensional visual objects into a two dimensional display area of a computer video display area. The visually complex, free-form, non-rectangular, animated objects are displayed on the top of conventionally projected and painted two dimensional images associated with a standard rectangular display area such as a window or a desktop window. The standard window is sub-classed in order to allow for proper control of the combined display.

Description

METHOD AND SYSTEM FOR LOADING THREE DIMENSIONAL VISUAL
OBJECTS INTO THE VIDEO DISPLAY AREA OF A TWO DIMENSIONAL
GRAPHICAL USER INTERFACE
FIELD OF THE INVENTION
The present invention relates to a method for displaying three-dimensional visual entities on a computer video display area, in general and to a method for loading three-dimensional objects into a video display area of a computer associated with a two-dimensional graphical user interface environment, in particular.
BACKGROUND OF THE INVENTION
A desktop is a metaphor used to illustrate visually computer file systems by utilizing a display area, which simulates a real office desktop in a graphical user interface environment associated with a computer system. A window is also used to illustrate the same computer file system. The display area typically contains a continuous visual background texture and pictures such as icons, which are loaded into it. The icons are graphical entities representing the kinds of objects one might find on a genuine desktop or window such as cabinets, files, folders, phonebooks, telephones, reference sources, writing instruments, drawing tools and miscellaneous documents such as letters, reports, notes and the like. Icons can be arranged on the simulated desktop or window just as real objects can be arranged on a real desktop by moving them around, putting one on the top of another, or throwing them away.
A desktop can be contained in a window area that is a portion of the total display area, or can be "full-screen", that is, the desktop can be disposed along the entire length and width of the displayable area. A plurality of desktops or windows might exist for diverse projects or work environments respectively with the added option of switching among the different desktops or windows. At present practically all the operative desktop and windows environments are implemented within two dimensional graphical display systems.
Some advanced applications require the option of overlaying selected portions of a desktop or window with externally created visual objects or displaying the suitable objects on the desktop or window beside the existing icons therein. The requisite visual objects are preferably three-dimensional (3-D) that is having, or seeming to have the dimension of depth as well as width and height and thereby providing perception of depth. A number of solutions exist that provide appropriate methods for the insertion of separate images into a typical graphical user interface display area. Previously, standard techniques required the use of a rectangular bounded window surrounding the specified displayable object. Novel techniques such as Microsoft Agent developed and distributed by Microsoft Corporation effect loading of the objects independently without the bounded frame. However, current operational methods support only the insertion and the display of objects limited to two dimensions (length and width) as the insertion of a three-dimensional object to a typical desktop or operative window involves some highly complex operations such as calculating the boundaries of the 3-D object.
It is easily perceived that in order to load 3-D, visually complex, dynamic, non-rectangular forms into a typical desktop or windows environment, a new and novel method is required to provide a solution not present or contemplated by the prior art.
SUMMARY OF THE INVENTION
One aspect of the present invention regards a computing environment established on a computer platform that includes a central processing unit, a communication device, a video display device, and a storage device. The storage device includes an operating system, a graphical interface application, and a method of loading visually three dimensional objects into a video display area associated with images representative of two graphical interface application components. The method consists of establishing an environment operative in handling visually three dimensional objects, capturing the visually representative image of a graphical interface application component, selectively handling messages responsive to system events which are sent by the graphical interface application component to the operating system for appropriate processing, and iteratively displaying and manipulating a visually three dimensional object integrated with the captured image of the video display area representative of the graphical interface application component.
A second aspect of the present invention regards a computing environment established on a computer platform. The computer platform includes a central processing unit, a communication device, a video display device, and a storage device. The storage devices includes an operating system, a graphical interface application, and a system for controlling the method of loading of visually three dimensional objects onto the video display are of the video display device associated with images representative of the graphical interface application components. The system includes a three dimensional object loading driver component, a subclass component to capture the representative image and the messages originated by the graphical interface application component, and a set of data structures representative of a three dimensional object.
A third aspect of the present invention regards a computer system established on a computer platform that includes a central processing unit, a communication device, a video display device, and a storage device. The storage device includes an operating system controlling a graphical interface application, and a method of integrating visually three dimensional objects with visually two dimensional images representative of a graphical user interface. The method consists of locally establishing an operative environment for the processing of three dimensional objects, capturing a displayed image visually representative of a graphical user interface component, selectively processing messages indicative of system events which are sent by the graphical user interface component to the operating system for appropriate processing, and repeatedly projecting, moving and rendering a visually three dimensional object in combination with the captured image of the video display area representative of the graphical user interface component.
Each of the above aspects of the present invention provides the advantage of loading a visually complex, free-form, non-rectangular three dimensional object into a display area occupied by a two dimensional image representative of a graphical interface application component.
Each of the above aspects of the present invention provides the advantage of selectively modifying the appearance of the displayed three dimensional object in coordination with the changes in the appearance of the two dimensional image representative of the graphical interface application component.
Each of the above aspects of the present invention provides the advantage of animating the displayed three dimensional object on the background of the two dimensional image representative of the graphical interface application component. BRIEF DESCRIPTION OF THE DRAWINGS
The unique novel features held to be specific to the invention are recited in the appended claims. The invention itself, however, as well as a preferred mode of embodiment, will be best understood and appreciated by reference to the following detailed description of an illustrative embodiment when read in conjunction with the illustrative drawings, wherein:
Fig. 1 is a pictorial representation of a computing device which can be utilized to implement the method and system of the present invention;
Fig. 2 depicts a block diagram illustrative of selected components in a personal computer system which can be utilized to implement the method and system of the present invention;
Fig. 3A, and 3B are block diagrams illustrative of selected components in a personal computer system operative in the operation the method and system, according to a preferred embodiment of the present invention;
Fig. 4 is a flow diagram that shows step utilized to carry out the method and system of the present invention, according to a preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
A new and novel method and system for the loading of visual three-dimensional objects into two-dimensional graphical environments is disclosed. The method and system provides the option of dynamically overlaying visually complex, free-form, non-bounded, static or animated graphical entities, having the dimension of depth in addition to the dimensions of length and width and thereby providing enhanced depth perception, on two dimensional dynamic visual frames displayed on suitable video display devices of a computing device.
In the preferred embodiment of the present invention the method involves the use of the sub-classing technique, the system providing the two dimensional graphic background is Microsoft Windows 95/98 or Windows ME developed by Microsoft Corporation, and the loadable three dimensional objects are graphical entities used as virtual objects, such as toys or characters, having interactive capabilities. It will be apparent to one skilled in the art that the following description is provided to facilitate a thorough understanding of the present invention and should not be construed as limitation of any kind to other possible embodiments and other possible alternative uses that could be contemplated without departing from the spirit of the invention and the scope of the appended claims.
In other embodiments of the present invention the operating system could be any other operating system associated with a graphical user interface-oriented environment such as Linux, X- Window, Windows NT, Windows 2000 or OS/2 and the loadable 3-D objects could be entities representing virtual guides for e-commerce shop-fronts or virtual helpers assisting clients running a specific software application implemented in a computing environment. Any other three dimensional object which can be visualized on a display is contemplated as well.
To accomplish the objectives of the present invention the proposed method and system utilizes the window procedure sub-classing technique. For a better understanding of the proposed method and system a concise description of sub-classing will be given next.
A window is a distinct display area on a computer display screen in a system that allows multiple display areas as part of a graphical user interface. Every window has an associated window procedure, which includes a set of functions designed to process all the messages sent to the window. A message is an infoimation unit generated by a particular window-related operation or event such as a keystroke or a pointing device-related action. All aspects of a window's appearance and behavior depend on the window procedure's response to the messages. When a software application creates a window, the operating system allocates a unique identifier to the window such as a Handle, and a block of memory for storing information specific to the window, including the address of the window procedure. In the event that the operating system is required to pass a specific message to the window, the address of the window procedure is obtained from the allocated memory block and the message is sent to the window procedure pointed at by the address. Sub-classing is a method that allows a specific software application to intercept and process the messages sent to a particular window before the window procedure message-processing functions are activated. By sub-classing a window, a software application can augment, modify, or monitor the behavior of the window. An application may sub-class a window by replacing the address of the window's original window procedure with an address of a new window procedure. Thereafter the new procedure receives any messages sent to the window. The new window procedure can perform a number of alternative actions upon receiving a message. The message can be passed unprocessed to the original window procedure, or can be modified prior to being passed, or can be processed and not passed to the window procedure.
The code for the functionalities of the various windows such as the window or a desktop window is embedded within the respective operating system. Thus to change the behavior of specific windows, such as the desktop window or any other window, through code modifications is not a viable option. However, messages controlling the appearance and behavior of the desktop or a window can be intercepted and handled by utilizing the above-described sub-classing technique.
In the proposed method and system of the present invention a user operating a computing device such as a personal computer or a personal data assistant and the like initiates a software module in order to load and process a 3-D visual object encoding a specific image. Such software module can be a desktop application or a Windows application such as a utility or productivity software application or a video game and the like. Specifically, it is contemplated that the present method and system can be used for a wide variety of purposes such as for business-related applications such as word processing and for graphical processing applications and for game or other related applications. It will be appreciated that the present method and system can be utilized by any software application required to load and process a 3-D visual object encoding a specific image. In the present example, shown to illustrate better the workings of the method and system shown, the image preferably representing a virtual 3-D visual object such as a toy figure or a character that is displayed on the desktop window or in a window of the personal computer device. The 3-D image could be static or animated and could have specific interactive capabilities such as the performance of a series of predefined movements according to predefined events such-, as keyboard presses, pointing device clicks or movements and the like. The user preferably interacts with the 3-D image by manipulating the suitable hardware components of the computing device that will evoke the appropriate events. In yet another example, the image may be a virtual electronic device figure or character which is displayed on the desktop window or a window of the personal computer device and predetermined events will instruct a user of the method for operating said electronic device. The desktop events are persistently coordinated with the 3-D image events by virtue of the interception and processing of the window messages (also sent to the desktop). The system accomplishes its objectives in the following manner: A driver routine is created in association with a Dynamic Load Library (DLL) module. A DLL includes a set of computer program functions to be used by an executing computer program. The DLL includes functions related to the handling of
3-D objects, and functions designed to subclass the window (which could be the desktop). The DLL also provides a new window procedure, which will be denoted as the "subclass procedure" in the text of this document. After activation by the user the driver routine calls the hook function embedded in the DLL module, which obtains the window or the desktop handle. A hook is created on any messages of the windows or the desktop by replacing the window or the desktop procedure with the subclass procedure within the DLL. Next a 3-D environment is created, and initialized. Next the window or the desktop window screen is captured by the DLL.
The driver routine passes parameters pertinent to a displayable 3-D object to the
DLL. Consequently the DLL loads the 3-D object files and renders the 3-D object as a 3-D image into the window or the desktop window in an iterative manner by utilizing the previously captured window or desktop screen (as the case maybe) as background to the 3-D image. During the period in which the 3-D image is displayed on the window or desktop the subclass procedure continuously taps all the messages sent to the specific window or desktop from the operating system and according to the relevant received messages appropriately manipulates the displayed 3-D image.
In the foregoing description the window or desktop was selected as the object of the manipulation by the described sequence of actions. In this application the reference made to the desktop window also refers to a window generated an operating system allowing multiple display areas. Such can include a Microsoft
Windows operating system window or a Linux operating system window usually used for associated with a procedure, and the like. It is important to note that the desktop window is used in the text of this document as an exemplary component only. In other preferred embodiments of the present invention all the operative windows of a specific graphical user interface can be utilized and manipulated in the above-described manner. According to the teaching of the present invention the entire set of windows that are created, operated and maintained by a specific operating system through an appropriate interface can be individually and separately sub-classed, hooked, captured and being advantageously overlaid with specific 3-D images.
With reference now to the figures and, in particular to Fig. 1, there is depicted a pictorial representation of an exemplary computing device in which the present invention may be implemented. A personal computer system 10 is depicted which includes a system unit 11 and a video display terminal 12. In addition, input devices 5, such as an alphanumeric keyboard, a pointing device such as a mouse
(not shown), a game controller device (not shown) and the like also can be included in the personal computer. Computer 10 can be implemented utilizing any suitable computer such as IBM model 6663 a product of the IBM Corporation or any available PC. Although the depicted embodiment involves a personal computer, a preferred embodiment of the present invention may be implemented in other types of computing devices such as hand held personal data assistants, cellular devices and the like. Computer 10 also preferably includes a graphical user interface associated with an operating system such as Windows 95/98 a product of Microsoft
Corporation that resides within a machine-readable^ media such as a disk device to control and direct the operation of the computer. Video display terminal 12 contains a display screen 14 exhibiting a typical graphical user interface window such as the desktop display window 16. Desktop display window 16 comprises a 2-D background texture or wallpaper 13, and a plurality of 2-D images 20,22,24,26,28.
Desktop window 16 further contains 3-D image 18 rendered from suitable 3-D object files representing a virtual 3-D visual object such as a toy figure or a character entity. It will be appreciated by those skilled in the art that the same composition of objects may exist within a window associated with a particular windows procedure distinct from said desktop and visually operative and displayed on top of desktop window 16.
Referring now to Fig. 2 there is depicted a bloc diagram of selected components in personal computer 10 of Fig. 1 in which a preferred embodiment of the present invention may be implemented. Personal computer 10 of Fig. 1 preferably includes a Central Processing Unit (CPU) 36, a communication device
38, a video display device 40, and a storage device 42. CPU 36 is the computational and control unit of personal computer 10. CPU 36 fetches, decodes, interprets and executes instructions and transfers information to and from various local computer resources. Communication device 38 supports the transfer of information units to and from personal computer 10 to remote computing devices via suitable communication lines. Communication device 38 is operative in connecting personal computer 10 to data communication networks such as the Internet by utilizing suitable communication tools and applications such as network browsers. Video display device 40 provides information display capabilities such as viewing structured frames of data edited and organized by graphical user interface services.
Device 40 is also capable of displaying two and three-dimensional images that represent files stored in the storage device 42 of computer device 10. The images displayed are graphically rendered visual structures such as characters, icons, fonts, sprites, photographic frames, animation, video clips, and the like. Storage device 42, which is preferably a disk device such as a hard disk, holds the various software files and data structures instituting an operatively running computer system. Storage device 42 includes operating system 44, Application Driver routine 46, DLL module 48, 3-D object files 56, Window (desktop or other window) 62, captured desktop or window screen 58, and rendered 3-D object 60. Operating system 44 supervises and controls the operation of the computer system. Operating system 44 allocates memory, handles I/O units, and manages files, controls communications, queues, processes and the like. Window 62 is a memory block containing data relevant to the operation of specific desktop (or window) 16 of Fig. 1. Window 62 contains desktop or window screen 66, and desktop or window handle 64. Desktop or window handle 64 is a unique number issued by the operating system in order to provide identification to a specific component resource. Desktop or window screen
66 is the image of the displayed window kept in a memory device. Application driver 46 is the routine responsible for accomplishing the 3-D object display process. A user of application activates application driver 46. 3-D object files are suitable data structure storing 3-D object-related data in various predefined formats.
Captured desktop or window screen 58 is an image file holding the copy of the desktop or window screen 66. Rendered 3-D object 60 is an image file holding the reconstructed image of 3-D object 58. DLL 48 is a Dynamic Link Library module loaded into memory by Application driver 48. DLL 48 contains hook module 50,
3-D parameters handler module 52, and subclass procedure 54. The functionalities and the operation of the modules embedded in the DLL 48 will be described hereunder in association with the following drawings.
It is important to note that, while the present invention is described in the context of a fully functional computer system, those skilled in the art will appreciate that the present invention is capable of being applied within a variety of computer systems and other similar devices and that the present invention applies equally regardless of the particular type of hardware platform being utilized.
In Fig. 2, Fig. 3A, and Fig. 3B, like parts are indicated by like numbers. Fig. 3A illustrates a block diagram illustrative of the components and execution paths operative in the hooking phase of the proposed method. Application driver 46 is activated by a user (not shown) in order to load and display a 3-D object on the desktop (window) 16 of Fig. 1. Consequently Application driver 46 performs a call (68) to DLL 48. Driver 46 sends (68) call carrying parameters concerning 3-D object 56 such as 3-D object name and the like to the DLL 48. DLL 48 obtains (70) the desktop or window handle 64, captures (72) desktop or window screen 66, and saves (74) captured desktop or window screen 58 into a memory buffer. Fig. 3A illustrates a block diagram illustrative of the components and execution paths operative in the rendering phase of the proposed method. DLL 48 loads (78) 3-D object file 56 and renders (80) in an iterative manner rendered 3-D object 68. The DLL 48, via the subclass function embedded therein, intercepts (76) all the messages sent to window 62 from operating system 44 and according to the intercepted message content modifies (80) rendered 3-D object 60.
3-D development includes tools to create and integrate graphic images, overlays, sprite, and other elements, including sound. A number of known technologies could be used for creating 3-D effects such as DirectX manufactured by Microsoft Corporation. DirectX is an application program interface for creating and managing graphic images and multimedia effects in applications such as games or active Web pages that will run in Microsoft's Windows 95/98+ operating system. Such an application program might be written in C++, or Visual C/C++, or Java. DirectX two modes - Retained and Immediate may be used in conjunction with the present invention. Other technologies that could be used for the development and handling of 3-D objects are VRML and OpenGL. The Virtual Reality Modelling Language (VRML) could be used to specify images and the rules for their display and interaction using textual language statements.
In the preferred embodiment of the present invention the DirectX application developed and distributed by Microsoft Corporation is used for the creation of the 3-D effects. It will be easily perceived that in other embodiments of the present invention other 3-D engines could be used. In the given environment the 3-D object is encoded into the so-called "X" format. The object encoded into the said format has among others the following sub-objects:
1) Named or unnamed sets of points in 3-D (X,Y,Z) representing the vertices in 3-D space
2) A set of bitmaps representing textures on the object's surfaces 3) Sets of positions and times for the named 3-D sets in order to represent the object's animations, the position in a first point in time, and the position in a second point in time.
In order to identify the 3-D file to be loaded, after the hooking of the window is established a message is sent to the window containing the name of the 3-D file. Next the 3-D object is loaded into the memory subsequent to the calling of the DirectX Load function. The driver application sends the hooked window a 10 Hz frequency WM_TIMER message. Upon the reception of the message the hooked window calls first the DirectX function Move to move the animated object. Then the hooked window calls the DirectX function Render to render the object's new position on the display screen.
The DirectX Move function is operative in animating the 3-D object. The animation is performed by interpolating between the angular positions, scales and other parameters of the 3-D object in respect to a first and a second point in time, and setting the positions of the 3-D point sets according to the interpolations.
The DirectX Render function is operative rendering the 3-D object. The rendering is performed by iterating on the current positions of the entire set of 3-D points, project the points from a 3-D coordinate system to a 2-D screen under a perspective projection, and paint the appropriate textures on the surfaces of the 3-D objects. In the present embodiment DirecX Retained mode is used to accomplish the desired result. Other environment, such as DirectX Immidiate may be used to accomplish this result.
Fig. 4 is a flow diagram that shows the steps utilized to carry out the method and system of the present invention, according to a preferred embodiment of the present invention. Thus, as depicted at step 80 the process is initiated. At step 80 the user (not shown) of the system activates an application driver routine. Application driver routine performs a call to the hook module embedded in the DLL module. To subclass a window the application program must have a handle to the window. The hook function of DLL module obtains the desktop / window handle at step 82, and creates a hook on the operating system messages. At step 84 the subclass procedure embedded within the DLL captures the desktop or window screen, and at step 86 the 3-D environment is initialized as preparation for the processing of the 3-D object files. Next, at step 88 the application driver calls 3-D parameters handle routine in DLL with the parameters specifying the 3-D object files such as the object name. The parameters are received and processed by 3-D parameter handler module and consequently the DLL loads the specific 3-D object files (step 90). Utilizing the previously initiated 3-D environment the 3-D object files are rendered into the 3-D object image that is sent to the desktop or the window overlaid on the previously saved desktop or window screen (step 92).
As the desktop or window is sub-classed by the subclass procedure of the DLL all the messages directed to the desktop or window are intercepted by the subclass procedure at step 96. Messages irrelevant to the appearance and behavior of the displayed 3-D image are routinely forwarded to the original window procedure of the desktop or window. Messages that may affect in some manner the appearance and behavior of the displayed 3-D image are utilized to activate appropriate 3-D-related functions to re-draw, re-render, or suitably modify the 3-D image displayed on the desktop or on the window (step 98).
It will be easily perceived by one skilled in the art that although in the foregoing description frequent references were made also to a window's desktop as a preferred 2-D background into which a specific 3-D object is loaded, other functional windows being part of a graphical user interface could be advantageously utilized for the same purpose.
While the invention has been particularly shown as described with reference to a preferred embodiment, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and the scope of the invention.

Claims

1. In a computing environment established on a computer platform, said computer platform including a central processing unit, a communication device, a storage device, a video display device, said storage device including an operating system, said operating system controlling a visually two dimensional graphical interface application, a method for the loading of visually three dimensional objects into the display area of said video display device associated with said visually two dimensional graphical interface application, said method comprising the steps of: establishing an environment operative in handling visually three dimensional objects; capturing the visually representative image of a graphical interface application component; selectively handling the messages sent by said graphical interface application component to the operating system; iteratively displaying and manipulating a visually three dimensional object integrated with said captured image on a video display area associated with the graphical interface application component.
2. The method of claim 1 further comprises the steps of: establishing a program hook on the graphical interface application component; replacing the message control module of the graphical interface application component interfacing to the operating system; animating the visually three dimensional object displayed on the video display area associated with the graphical interface application component.
3. The method of claim 1 wherein the step of establishing an environment operative in the handling of visually three dimensional objects comprises the step of: loading a set of software tools operative in creating, integrating and manipulating of three dimensional objects; loading a set of data structures associated with a three dimensional object.
4. The method of claim 1 wherein the step of selectively handling the messages sent by the graphical interface application component to the operating system further comprises the steps of: reading the messages sent by the graphical interface application component to the operating system; examining the messages in regard to the relevance thereof to the appearance of the visually three dimensional object integrated with the captured image representative of the graphical interface application component; selectively passing the messages for the handling of the operating system; selectively handling the messages in order to modify the appearance of the visually three dimensional object integrated with the captured image representative of the graphical interface application component.
5. The method of claim 1 wherein the step of iteratively displaying and manipulating a visually three dimensional object integrated with said captured image further comprises the steps of: displaying the captured two dimensional image representative of the graphical interface application component into the associated video display area; extracting the information embedded into the data structures representative of the visually three dimensional object; processing the information read from the data structures ; perspectively projecting the resulting three dimensional structure onto the displayed two dimensional captured image representative of the graphical interface application component; appropriately painting and completing the projected three dimensional structure.
6. The method of claim 2 wherein the step of establishing a program hook comprises the step of: obtaining the address associated with the graphical interface application component.
7. The method of claim 2 wherein the step of animating further comprises the steps of: obtaining the positional parameters of the three dimensional object at a first point in time; interpolating among positional parameters associated with the tree dimensional object; setting the positions of the three dimensional object on the video display area according to said interpolations at a second point in time..
8. In a computing environment established on a computer platform, said computer platform including a central processing unit, a communication device, a storage device, a video display device, said storage device including an operating system, said operating system controlling a visually two dimensional graphical interface application, a system for controlling the method of the loading of visually three dimensional objects into the display area of said video display device associated with said visually two dimensional graphical interface application, said system comprising: a three dimensional object loading application driver; a subclass component to capture the image and the messages of the graphical interface application component; a set of data structures representative of a three dimensional object.
9. The system according to claim 8 further comprises: a hooking component to establish a hook on the graphical interface application component; a three dimensional parameters handling component to establish the identify the three dimensional object; a three dimensional environment initializing component to load the appropriate three dimensional effects tools and the specific three dimensional objects.
10. In a computer system established on a computer platform, said computer platform including a central processing unit, a communication device, a storage device, a video display device, said storage device including an operating system, said operating system controlling a graphical user interface, a method for the integration of visually three dimensional objects with visually two dimensional images representative of said graphical user interface, said method comprising the steps of: locally establishing an operative environment for the processing of three dimensional objects; capturing a displayed image visually representative of a graphical user interface component; selectively processing the messages indicative of events sent by said graphical user interface component to the operating system; repeatedly projecting, moving and rendering a visually three dimensional object in combination with said captured image onto a video display area associated with the graphical user interface component. 1 l.The method of claim 10 further comprises the steps of: hooking a graphical user interface component; substituting the message control module of the graphical interface application component interfacing to the operating system with an application-specific control routine; controllably shifting the location of the three dimensional object displayed on the video display area associated with the graphical user interface component.
12. The method of claim 10 wherein the step of establishing an environment operative in the handling of three dimensional objects comprises the step of: loading a specific set of software tools operative in creating, integrating and manipulating three dimensional objects; loading specific data structures operative in storing a three dimensional object.
13. The method of claim 10 wherein the step of selectively handling messages sent by the graphical user interface component to the operating system further comprises the steps of: capturing the said messages sent by the graphical user interface component to the operating system; examining the messages in regard to the relevance thereof to the appearance of the three dimensional object overlaid on the captured image representative of the graphical user interface component; selectively enabling the operating system to process the messages; selectively processing the messages in order to make available the option of changing the appearance of the three dimensional object integrated with the captured image representative of the graphical user interface component.
14. The method of claim 10 wherein the step of iteratively displaying and manipulating a three dimensional object integrated with said captured image further comprises the steps of: loading the captured two dimensional image representative of the graphical user interface component into the video display area; processing the information embedded into the data structures representative of the visually three dimensional object; perspectively projecting the resulting three dimensional structure onto the displayed two dimensional captured image representative of the graphical user interface component; visually finalizing the projected three dimensional structure.
15. The method of claim 11 wherein the step of establishing a program hook comprises the step of: obtaining the address associated with the graphical interface application component.
16. The method of claim 11 wherein the step of shifting further comprises the steps of: obtaining the positional parameters of the three dimensional object at a first point in time; interpolating among positional parameters associated with the tree dimensional object; setting the positions of the three dimensional object on the display area according to said interpolations at a second point in time.
17. The method of claim 10 wherein the graphical user interface component is a window.
18. The method of claim 17 wherein the graphical user interface component is a desktop window.
19. The method of claim 17 wherein the graphical user interface component is a window.
20. The method of claim 10 wherein the graphical user interface component is sub-classed by the three dimension object loading application.
21. The method of claim 10 wherein the visually three dimensional object is a visually complex, free-form, dynamic, non-rectangular figure.
22. The method of claim 21 wherein the visually complex, free-form, dynamic, non-rectangular figure is a toy character.
23. The method of claim 21 wherein the visually complex, free-form, dynamic, non-rectangular figure is a three dimensional object.
24. The method of claim 21 wherein the visually complex, free-form, dynamic, non-rectangular figure interactively responsive to specific manipulations.
PCT/IL2000/000649 2000-10-12 2000-10-12 Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface WO2002031776A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2000278161A AU2000278161A1 (en) 2000-10-12 2000-10-12 Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface
PCT/IL2000/000649 WO2002031776A1 (en) 2000-10-12 2000-10-12 Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IL2000/000649 WO2002031776A1 (en) 2000-10-12 2000-10-12 Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface

Publications (1)

Publication Number Publication Date
WO2002031776A1 true WO2002031776A1 (en) 2002-04-18

Family

ID=11043000

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2000/000649 WO2002031776A1 (en) 2000-10-12 2000-10-12 Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface

Country Status (2)

Country Link
AU (1) AU2000278161A1 (en)
WO (1) WO2002031776A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2877482A1 (en) * 2004-11-03 2006-05-05 Totem Entertainment Sarl Animated object e.g. person, inlay method for computer screen, involves capturing background image zone where view port, whose shape adopts to contours of object in image to be displayed and displayed image of video sequence, is displayed
US7127081B1 (en) 2000-10-12 2006-10-24 Momentum Bilgisayar, Yazilim, Danismanlik, Ticaret, A.S. Method for tracking motion of a face
US20070016861A1 (en) * 2005-07-15 2007-01-18 Nokia Corporation Apparatus and methods for implementing modular, context-aware active graphical user interface objects
EP2203895A4 (en) * 2007-09-26 2016-03-16 Aq Media Inc Audio-visual navigation and communication dynamic memory architectures

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920325A (en) * 1996-11-20 1999-07-06 International Business Machines Corporation Prioritization of background display during animation
WO1999039265A1 (en) * 1998-02-03 1999-08-05 Messagemedia, Inc. System and method for incrementally loading a scene graph
US6121981A (en) * 1997-05-19 2000-09-19 Microsoft Corporation Method and system for generating arbitrary-shaped animation in the user interface of a computer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920325A (en) * 1996-11-20 1999-07-06 International Business Machines Corporation Prioritization of background display during animation
US6121981A (en) * 1997-05-19 2000-09-19 Microsoft Corporation Method and system for generating arbitrary-shaped animation in the user interface of a computer
WO1999039265A1 (en) * 1998-02-03 1999-08-05 Messagemedia, Inc. System and method for incrementally loading a scene graph

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127081B1 (en) 2000-10-12 2006-10-24 Momentum Bilgisayar, Yazilim, Danismanlik, Ticaret, A.S. Method for tracking motion of a face
FR2877482A1 (en) * 2004-11-03 2006-05-05 Totem Entertainment Sarl Animated object e.g. person, inlay method for computer screen, involves capturing background image zone where view port, whose shape adopts to contours of object in image to be displayed and displayed image of video sequence, is displayed
US20070016861A1 (en) * 2005-07-15 2007-01-18 Nokia Corporation Apparatus and methods for implementing modular, context-aware active graphical user interface objects
EP2203895A4 (en) * 2007-09-26 2016-03-16 Aq Media Inc Audio-visual navigation and communication dynamic memory architectures
US9405503B2 (en) 2007-09-26 2016-08-02 Aq Media, Inc. Audio-visual navigation and communication dynamic memory architectures
US9766774B2 (en) 2007-09-26 2017-09-19 Aq Media, Inc. Audio-visual navigation and communication
US9823809B2 (en) 2007-09-26 2017-11-21 Aq Media, Inc. Audio-visual navigation and communication
US10146399B2 (en) 2007-09-26 2018-12-04 Aq Media, Inc. Audio-visual navigation and communication dynamic memory architectures
US10664126B2 (en) 2007-09-26 2020-05-26 Aq Media, Inc. Audio-visual navigation and communication
US10664125B2 (en) 2007-09-26 2020-05-26 Aq Media, Inc. Audio-visual navigation and communication
US11409404B2 (en) 2007-09-26 2022-08-09 Aq Media, Inc. Audio-visual navigation and communication

Also Published As

Publication number Publication date
AU2000278161A1 (en) 2002-04-22

Similar Documents

Publication Publication Date Title
EP1854065B1 (en) User interfaces
KR101086570B1 (en) Dynamic window anatomy
US7400322B1 (en) Viewport-based desktop rendering engine
US6392651B1 (en) Interactive timeline visualization
EP1565890B1 (en) System and method of converting frame-based animations into interpolator-based animations
KR101159359B1 (en) Method and system for a target device display simulation
EP3111318B1 (en) Cross-platform rendering engine
US20030058241A1 (en) Method and system for producing dynamically determined drop shadows in a three-dimensional graphical user interface
CN1945528A (en) Method and system for sharing user interface window small parts
JP2012033190A (en) Digital document processing
CN101421761A (en) Visual and scene graph interfaces
WO2018200311A1 (en) Object processing and selection gestures for forming relationships among objects in a collaboration system
JP2010539754A (en) System and method for capturing digital images
US7271815B2 (en) System, method and program to generate a blinking image
JP2003531429A (en) Digital document processing
CN110990431A (en) Method for realizing synchronous linkage carousel of China map and line graph data
Andujar et al. A cost-effective approach for developing application-control GUIs for virtual environments
WO2005086629A2 (en) Ingeeni flash interface
WO2002031776A1 (en) Method and system for loading three dimensional visual objects into the video display area of a two dimensional graphical user interface
CN116610881A (en) WebGL browsing interaction method based on low-code software
CN111563369A (en) Screen visualization method and device, electronic equipment and medium
CN115129224B (en) Mobile control method, device, storage medium and electronic equipment
CN114862999A (en) Dotting rendering method, dotting rendering device, dotting rendering equipment and storage medium
CN114371838A (en) Method, device and equipment for rendering small program canvas and storage medium
US9189253B2 (en) Reentrant window manager

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 69(1) EPC

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP