JP5101648B2 - ビジュアルおよびシーングラフインタフェース - Google Patents
ビジュアルおよびシーングラフインタフェース Download PDFInfo
- Publication number
- JP5101648B2 JP5101648B2 JP2010054241A JP2010054241A JP5101648B2 JP 5101648 B2 JP5101648 B2 JP 5101648B2 JP 2010054241 A JP2010054241 A JP 2010054241A JP 2010054241 A JP2010054241 A JP 2010054241A JP 5101648 B2 JP5101648 B2 JP 5101648B2
- Authority
- JP
- Japan
- Prior art keywords
- public
- visual
- brush
- int
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B53/00—Golf clubs
- A63B53/12—Metallic shafts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B53/00—Golf clubs
- A63B53/10—Non-metallic shafts
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B53/00—Golf clubs
- A63B53/14—Handles
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B60/00—Details or accessories of golf clubs, bats, rackets or the like
- A63B60/06—Handles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physical Education & Sports Medicine (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- User Interface Of Digital Computer (AREA)
Description
例えば米国特許出願10/184,795は一般に複数レベルからなるグラフィック処理システムおよび方法を対象とし、ここでは、(例えばオペレーティングシステムの)より高水準のコンポーネントが、低水準のコンポーネントに単純化したデータ構造および/またはグラフィックコマンドを渡すために、シーングラフを構築し、アニメーションパラメータを更新し、シーングラフのデータ構造をトラバースするという計算的に集約的な面を比較的低い動作速度で行う。高水準の処理によりデータが大幅に単純化されるので、低水準コンポーネントは、グラフィックスサブシステムのフレームリフレッシュレートに相当する速度など(高水準コンポーネントに比べて)高い速度で動作して、データを処理してグラフィックスサブシステムへの一定の出力データとすることができる。アニメーションを使用する場合は変化を加えてシーン全体を描き直す必要がなく、低水準の処理により必要に応じてパラメータ間隔を補間して、レンダリング時にフレームごとにわずかに変化したシーンを提供し、なめらかなアニメーションを提供する瞬時値を得ることができる。
図1は、本発明を実装することができる適切なコンピューティングシステム環境100の一例である。コンピューティングシステム環境100は適切なコンピューティング環境の一例に過ぎず、本発明の使用または機能性の範囲について何らの限定を示唆するものではない。またコンピューティング環境100は、例示的動作環境100に示す構成要素の任意の1つまたは組み合わせに関連する依存性または必要性を有するものとも解釈すべきでない。
本発明の一態様は、一般には、アプリケーションやオペレーティングシステムコンポーネントなどのプログラムコードが、システムディスプレイにグラフィック出力をレンダリングするために描画命令またはその他の情報(例えば画像ビットマップ)をグラフィックコンポーネントに伝達できるようにすることを対象とする。このために、本発明は、プログラムが、シーングラフにデータ構造、描画プリミティブ(コマンド)、およびその他のグラフィック関連データをポピュレートできるようにする、例えばオブジェクトモデルとのアプリケーションプログラミングインタフェース(API)の形態のいくつかの定義された関数およびメソッドを提供する。処理するとシーングラフは画面に表示されたグラフィックとなる。
{
public Transform Transform { get; set; }
public float Opacity { get; set; }
public BlendMode BlendMode { get; set; }
public Geometry Clip { get; set; }
public bool Show { get; set; }
public HitTestResult HitTest(Point point);
public bool IsDescendant(Visual visual);
public static Point TransformToDescendant(
Visual reference,
Visual descendant,
Point point);
public static Point TransformFromDescendant(
Visual reference,
Visual descendant,
Point point);
public Rect CalculateBounds( ); // Loose bounds
public Rect CalculateTightBounds( ); //
public bool HitTestable { get; set; }
public bool HitTestIgnoreChildren { get; set; }
public bool HitTestFinal { get; set; }
}
void PushTransform(Transform transform);
void PushTransform(Matrix matrix);
void PopTransform();
void PushOpacity(float opacity);
void PushOpacity(NumberAnimationBase opacity);
void PopOpacity();
PushClipメソッドはクリッピングジオメトリをプッシュする。以降の描画操作はそのジオメトリに合わせてクリッピングされる。クリッピングは変換後の空間に適用される。PopClipは、対応するPushClipの呼出しによってプッシュされたクリッピング領域をポップする。
void PushClip(Geometry clip);
void PopClip();
DrawLine(...);
PushClip(...);
DrawLine(...);
PopClip( );
PushTransform(...);
DrawRect(...);
PopTransform( );
PopTransform( );
{
public DrawingVisual( );
public IDrawingContext Open( );
public IDrawingContext Append( );
}
DrawingVisual dv1 = new DrawingVisual( );
// Open a drawing context. The context
// will automatically be closed when
// exiting the using block. This will also
// replace any contents that might already
// be in dv1.
using (IDrawingContext dc = dv1.Open( ))
{
dc.DrawLine(new Pen(Brushes.Blue), new Point(...), new Point(...));
}
// Add dv1 to the child collection of cv1
cv1.Children.Add(dv1);
// Add another arbitrary visual to cv1
cv1.Children.Add(someOtherVisual);
// Create another DrawingVisual
DrawingVisual dv2 = new DrawingVisual( );
using (IDrawingContext dc = dv2.Open( ))
{
// This sets up a new coordinate system
// where everything is twice as big
dv.PushTransform(new Scale(2.0, 2.0));
// This line is drawn in the new scaled
// coordinate system.
dc.DrawLine(new Pen(Brushes.Red), new Point(...), new Point(...));
// This reverts to the original coordinate system.
dv.PopTransform( );
dc.DrawLine(new Pen(Brushes.Green), new Point(...), new Point(...));
}
// Add dv2 to the child collection of cv1;
cv1.Children.Add(dv2);
{
public override void OnValidate(IDrawingContext dc)
{
dc.DrawLine(m_color,...);
}
public void SetColor(Color newColor)
{
m_color = color;
Invalidate( ); // Force a redraw of the ValidationVisual to
// reflect the color change.
}
private Color m_color
}
container.Children.Add(myVV);
myVV.SetColor(new Color(...));
vc.Add(new DrawingVisual ( ));
vc.Add(new DrawingVisual ( ));
vc.Add(new DrawingVisual ( ));
for (int i = 0; i < vc.Count; i++)
{
DrawingVisual v = (DrawingVisual) (vc[i]);
if (v != null)
{
v.Transform = Transform.CreateTranslation(i * 20.0f, i*20f);
IDrawingContext dc = v.Open( );
dc.DrawRectangle(
new Brush(colors [i]),
null,
new Point2D(0, 0),
new Point2D(100.0f, 100.0f));
v.Close(dc);
}
}
TimingService timingService = new ManualTimingService(visualManager);
// composite the visual tree to the current back buffer of the surface visualManager.Render( );
foreach (Tick tick in timingService)
{
// advance the back buffer to the next frame of the surface
surfaceList.NextFrame( );
// advance the time of the visual tree
timingService.Tick(tick);
// composite the visual tree to the current back buffer of surface
visualManager.Render( );
}
SurfaceVisual surfaceVisual = new SurfaceVisual(surfaceList);
// enable immediate-mode rendering to (and lock) back buffer Surface
BaseDrawingContext dc = surfaceVisual.Open( );
// draw a line (immediately) to the current back buffer of the Surface
dc.DrawLine (pen, startPoint, endPoint);
// unlock the surface - we're done with immediate-mode rendering surfaceVisual.Close(dc);
SurfaceVisual surfaceVisual = new SurfaceVisual(surfaceList);
// Add the surfaceVisual to a visual tree for compositing onto another
// render target
rootVisual.Add(surfaceVisual);
{
// create and allocate a blank surface without initial data
public Surface(int width,
int height,
int dpi,
PixelFormat pixelFormat,
SurfaceFlags flags)
// create a surface using the supplied memory
public Surface(int width,
int height,
int dpi,
PixelFormat pixelFormat,
IntPtr pixels, // managed memory for the surface
Int stride)
// create from a source (i.e. Clone)
public Surface(Surface sourceSurface,
SurfaceFlags flags)
// Create from File or URL
public Surface (String filename,
SurfaceFlags flags)
// Create from Stream
public Surface (System.IO.Stream stream,
SurfaceFlags flags)
// Create from HBITMAP (which can't be selected into an HDC)
public Surface (HBITMAP hbitmap, HPALETTE hPalette)
// Create from HICON
public Surface (HICON hicon)
// read-only properties
public Int Width {get; }
public Int Height {get; }
public Int Dpi {get; }
public PixelFormat Format{get; }
public int Stride{get; }
public IntPtr Buffer {get;}
}
public class SurfaceList
{
// Create a list of blank surfaces (without initial data).
public SurfaceList (int width,
int height,
int dpi,
PixelFormat pixelFormat,
int numSurfaces,
SurfaceFlags flags)
// Create a SurfaceList that uses the specified surfaces
// All the surfaces must have identical properties (w, h,
// dpi, etc).
public SurfaceList (Surface [ ] surfaces)
// change the front buffer to the first-in-line back buffer
public Flip( )
// advance the back buffer to the next surface
public Next( )
public int FrontBufferIndex {get; set;}
public int BackBufferIndex {get; set;}
public Surface GetFrontBuffer( )
public Surface GetBackBuffer( )
public Surface GetSurface(int surfaceIndex)
}
public SurfaceDrawingVisual(Surface surface)
public SurfaceDrawingVisual(SurfaceList surfaceList)
// Create a visual manager with a surface render target
public VisualManager(Surface surface)
public VisualManager(SurfaceList surfaceList)
Brush MyBrush = new SolidColorBrush(Colors.Red);
SolidColorBrushBuilder MyBuilder = new
SolidColorBrushBuilder();
MyBuilder.Color = Colors.Red;
Brush MyBrush = MyBuilder.ToBrush();
MyBuilder.ColorAnimation.Add(new ColorAnimation(...));
public void DrawLine(
Pen pen,
PointAnimationBase start,
PointAnimationBase end);
Brush brush,
Pen pen,
Point topLeft,
Size size,
float radius);
public void DrawRoundedRectangle(
Brush brush,
Pen pen,
PointAnimationBase topLeft,
SizeAnimationBase size,
NumberAnimationBase radius);
public void DrawRoundedRectangle(
Brush brush,
Pen pen,
Point topLeft,
Point bottomRight,
float rx,
float ry);
public void DrawRoundedRectangle(
Brush brush,
Pen pen,
PointAnimationBase topLeft,
PointAnimationBase bottomRight,
NumberAnimationBase radiusX,
NumberAnimationBase radiusY);
Brush brush,
Pen pen,
Geometry geometry);
Brush brush,
Pen pen,
Point topLeft,
Size size);
public void DrawRectangle(
Brush brush,
Pen pen,
PointAnimationBase topLeft,
SizeAnimationBase size);
Surface surface,
Point topLeft,
Size size,
float opacity);
public void DrawSurface(
Surface image,
PointAnimationBase topLeft,
SizeAnimationBase size,
NumberAnimationBase opacity);
{
Butt, Round, Square
}
public enum System.Windows.Media.PenLineJoin
{
Miter, Round, Bevel
}
public class System.Windows.Media.Pen
{
// Constructors
public Pen(Color color, float width);
public Pen(Brush brush, float width);
// Properties
public float[ ] DashArray { get; }
public float DashOffset { get; }
public FloatAnimationCollection DashOffsetAnimations { get; }
public PenLineCap LineCap { get; }
public PenLineJoin LineJoin { get; }
public float MiterLimit { get; }
public FloatAnimationCollection MiterLimitAnimations { get; }
public float Opacity { get; }
public FloatAnimationCollection OpacityAnimations { get; }
public Brush Brush { get; }
public float Width { get; }
public FloatAnimationCollection WidthAnimations { get; }
}
public sealed class System.Windows.Media.PenBuilder : Builder
{
// Fields
// Constructors
public PenBuilder ( );
public PenBuilder(Color color);
public PenBuilder(Brush brush);
public PenBuilder(Pen pen);
// Properties
public float[ ] DashArray { get; set; }
public float DashOffset { get; set; }
public FloatAnimationCollectionBuilder DashOffsetAnimations { get; }
public PenLineCap LineCap { get; set; }
public PenLineJoin LineJoin { get; set; }
public float MiterLimit { get; set; }
public FloatAnimationCollectionBuilder MiterLimitAnimations { get; }
public float Opacity { get; set; }
public FloatAnimationCollectionBuilder OpacityAnimations { get; }
public Brush Brush { get; set; }
public float Width { get; set; }
public FloatAnimationCollectionBuilder WidthAnimations { get; }
// Methods
public Pen ToPen( );
}
{
float Opacity { get; }
FloatAnimationCollection OpacityAnimations { get; }
}
{
public virtual Brush ToBrush ( );
public override sealed object CreateInstance ( );
{
return ToBrush ( );
}
float Opacity { get; set; }
FloatAnimationCollectionBuilder OpacityAnimations { get; }
}
{
ObjectBoundingBox,
UserSpaceOnUse,
}
{
// Constructors
public SolidColorBrush( ); // initialize to black
public SolidColorBrush(Color color);
public SolidColorBrush(System.Windows.Media.Animation.ColorComposer
colorComposer);
// Properties
public Color Color { get; }
public IEnumerator ColorAnimations { get; }
}
public class System.Windows.Media.SolidColorBrushBuilder : BrushBuilder
{
// Constructors
public SolidColorBrushBuilder( ) ;
public SolidColorBrushBuilder(Color color);
public SolidColorBrushBuilder(SolidColorBrush scp);
// Properties
public Color Color { get; set; }
public AnimationList ColorAnimations { get; }
// Methods
public virtual Brush ToBrush( );
}
{
public GradientStop(Color color, float offset);
public Color Color { get; }
public AnimationEnumerator ColorAnimations { get; }
public float Offset { get; }
public AnimationEnumerator OffsetAnimations { get; }
}
public class System.Windows.Media.GradientStopBuilder : Builder
{
public GradientStopBuilder( );
public GradientStopBuilder(Color color, float offset);
public Color Color { get; set; }
public AnimationList ColorAnimations { get; }
public float Offset { get; set; }
public AnimationList OffsetAnimations { get; }
public GradientStop ToGradientStop( );
}
{
public GradientStopCollection( ); // empty list
public GradientStopCollection(GradientStop[ ] GradientStops);
public GradientStopCollection(ICollection c);
// IEnumerable
public IEnumerator GetEnumerator( );
// ICollection
public void CopyTo (Array array, int index);
public bool ICollection.IsSynchronized { get { return false; } }
public int Count { get; }
public object ICollection.SyncRoot { get; }
// Extra functions
public GradientStop this [int index] { get; }
public bool Contains (GradientStop value);
public int IndexOf(GradientStop value); // returns first one
public int IndexOf(GradientStop value, int startIndex);
public int IndexOf(GradientStop value, int startIndex, int count);
public int LastIndexOf(GradientStop value);
public int LastIndexOf(GradientStop value, int startIndex);
public int LastIndexOf(GradientStop value, int startIndex, int count);
public GradientStopCollection GetRange(int index, int count);
}
public class System.Windows.Media.GradientStopCollectionBuilder : Builder,
IList
{
public GradientStopCollectionBuilder( );
public GradientStopCollectionBuilder(GradientStop [ ] GradientStops);
public GradientStopCollectionBuilder(ICollection c);
public GradientStopCollectionBuilder(GradientStopCollection
GradientStops);
// IEnumerable
public IEnumerator GetEnumerator( );
// ICollection
public void CopyTo(Array array, int index);
public bool ICollection.IsSynchronized { get { return false; } }
public int Count { get; }
public object ICollection.SyncRoot { get; }
// IList
public bool IsFixedSize { get { return false; } }
public bool IsReadOnly { get { return false; } }
public object IList.this [int index] { get; set; }
public int IList.Add(object value);
public void Clear( );
public bool IList.Contains(object value);
public int IList.IndexOf(object value); // returns first one
public void IList.Insert(int index, object value);
public void IList.Remove(object value); // removes first one
public void RemoveAt(int index);
// Extra functions
public GradientStop this [int index] { get; set; }
public int Add(GradientStop value);
public bool Contains(GradientStop value);
public int IndexOf(GradientStop value); // returns first one
public int IndexOf(GradientStop value, int startIndex);
public int IndexOf(GradientStop value, int startIndex, int count);
public int LastIndexOf(GradientStop value);
public int LastIndexOf(GradientStop value, int startIndex);
public int LastIndexOf(GradientStop value, int startIndex, int count);
public void Insert(int index, GradientStop value);
public void Remove(GradientStop value); // removes first one
public void AddRange(ICollection c);
public void InsertRange(int index, ICollection c);
public void RemoveRange(int index, int count);
public void SetRange(int index, ICollection c);
public GradientStopCollectionBuilder GetRange(int index, int count);
// Capacity is a hint. It will throw an exception if it is set less than
Count.
public int Capacity { get; set; }
// Builder overloads
public override object Build( );
public override void ResetBuilder( );
public override void SetBuilder(Object example);
public GradientStopCollection ToGradientStopCollection( );
}
{
Pad,
Reflect,
Repeat
}
{
// Sets up a gradient with two colors and a gradient vector
// specified to fill the object thegradient is applied to.
// This implies ObjectBoundingBox for the GradientUnits
// property
public LinearGradient(Color color1, Color color2, float angle);
public BrushMappingMode GradientUnits { get; }
public Transform GradientTransform { get; }
public GradientSpreadMethod SpreadMethod { get; }
// Gradient Vector
public Point VectorStart { get; }
public PointAnimationCollection VectorStartAnimations { get; }
public Point VectorEnd { get; }
public PointAnimationCollection VectorEndAnimations { get; }
// Gradient Stops
public GradientStopCollection GradientStops { get; }
}
public class System.Window.Media.LinearGradientBuilder : GradientBrushBuilder
{
public LinearGradientBuilder( );
public LinearGradientBuilder(Color color1, Color color2, float angle);
public LinearGradientBuilder(LinearGradient lg);
// GradientUnits: Default is ObjectBoundingBox
public BrushMappingMode GradientUnits { get; set; }
// GradientTransform: Default is identity
public Transform GradientTransform { get; set; }
// SpreadMethod: Default is Pad
public GradientSpreadMethod SpreadMethod { get; set; }
// Gradient Vector
// Default vector is (0,0) - (1,0)
public Point VectorStart { get; set; }
public PointAnimationCollectionBuilder VectorStartAnimations { get;
set; }
public Point VectorEnd { get; set; }
public PointAnimationCollectionBuilder VectorEndAnimations { get;
set; }
// Gradient Stops
public void AddStop (Color color, float offeset);
public GradientStopCollectionBuilder GradientStops { get; set; } }
{
// Sets up a gradient with two colors.
// This implies ObjectBoundingBox for the GradientUnits
// property along with a center at (0.5,0.5)
// a radius of 0.5 and a focal point at (0.5,0.5)
public RadialGradient(Color color1, Color color2);
public BrushMappingMode GradientUnits { get; }
public Transform GradientTransform { get; }
public GradientSpreadMethod SpreadMethod { get; }
// Gradient definition
public Point CircleCenter { get; }
public PointAnimationCollection CircleCenterAnimations { get; }
public float CircleRadius { get; }
public FloatAnimationCollection CircleRadiusAnimations { get; }
public Point Focus { get; }
public PointAnimationCollection FocusAnimations { get; }
// Gradient Stops
public GradientStopCollection GradientStops { get; }
}
public class System.Windows.Media.RadialGradientBuilder :
GradientBrushBuilder
{
public RadialGradientBuilder( );
public RadialGradient(Color color1, Color color2);
public RadialGradientBuilder(RadialGradient rg);
// GradientUnits: Default is ObjectBoundingBox
public BrushMappingMode GradientUnits { get; set; }
// GradientTransform: Default is identity
public Transform GradientTransform { get; set; }
// SpreadMethod: Default is Pad
public GradientSpreadMethod SpreadMethod { get; set; }
// Gradient definition
public Point CircleCenter { get; set; } //Default: (0.5, 0.5)
public PointAnimationCollectionBuilder CircleCenterAnimations { get;
set;}
public float CircleRadius { get; set; } // Default: 0.5
public FloatAnimationCollectionBuilder CircleRadiusAnimations { get;
set; }
public Point Focus { get;set; } // Default: (0.5, 0.5)
public PointAnimationCollectionBuilder FocusAnimations { get; set; }
// Gradient Stops
public void AddStop(Color color, float offset);
public GradientStopCollectionBuilder GradientStops { get; set; }
}
{
public VisualBrush(Visual v);
public BrushMappingMode DestinationUnits { get; }
public BrushMappingMode ContentUnits { get; }
public Transform Transform { get; }
public Rect ViewBox { get; }
public Stretch Stretch { get; }
public HorizontalAlign HorizontalAlign { get; }
public VerticalAlign VerticalAlign { get; }
public Point Origin { get; }
public PointAnimationCollection OriginAnimations { get; }
public Size Size { get; }
public SizeAnimationCollection SizeAnimations { get; }
// Visual
public Visual Visual { get; }
}
public class System.Windows.Media.VisualBrushBuilder : BrushBuilder
{
public VisualBrushBuilder( );
public VisualBrushBuilder(Visual v);
public VisualBrushBuilder(VisualBrush vb);
// DestinationUnits: Default is ObjectBoundingBox
public BrushMappingMode DestinationUnits { get; set; }
// ContentUnits: Default is ObjectBoundingBox
public BrushMappingMode ContentUnits { get; set; }
// Transform: Default is Identity
public Transform Transform { get; set; }
// ViewBox: Default is (0,0,0,0) -- unset and ignored
public Rect ViewBox { get; set; }
// Stretch: Default is None -- and ignored
// because the ViewBox is not set
public Stretch Stretch { get; set; }
// HorizontalAlign: Default is Center and ignored
public HorizontalAlign HorizontalAlign { get; set; }
// VerticalAlign: Default is Center and ignored
public VerticalAlign VerticalAlign { get; set; }
// Origin: Default is (0,0)
public Point Origin { get; set; }
public PointAnimationCollectionBuilder OriginAnimations { get; set; }
// Size: Default is (1,1)
public Size Size { get; set; }
public SizeAnimationCollectionBuilder SizeAnimations { get; set; }
// Visual: Default is null -- nothing drawn
public Visual Visual { get; set; }
}
{
public ImageBrush(ImageData image);
public BrushMappingMode DestinationUnits { get; }
public Transform Transform { get; }
public Stretch Stretch { get; }
public HorizontalAlign HorizontalAlign { get; }
public VerticalAlign VerticalAlign { get; }
public Point Origin { get; }
public PointAnimationCollection OriginAnimations { get; }
public Size Size { get; }
public SizeAnimationCollection SizeAnimations { get; }
public ImageData ImageData { get; }
}
public class System.Windows.Media.ImageBrushBuilder : BrushBuilder
{
public ImageBrushBuilder( );
public ImageBrushBuilder(ImageData image);
public ImageBrushBuilder(ImageBrush ib);
// DestinationUnits: Default is ObjectBoundingBox
public BrushMappingMode DestinationUnits { get; set; }
// Transform: Default is identity
public Transform Transform { get; set; }
// Stretch: Default is None
public Stretch Stretch { get; set; }
// HorizontalAlign: Default is Center
public HorizontalAlign HorizontalAlign { get; set; }
// VerticalAlign: Default is Center
public VerticalAlign VerticalAlign { get; set; }
// Origin: Default is (0,0)
public Point Origin { get; set; }
public PointAnimationCollectionBuilder OriginAnimations { get; set; }
// Size: Default is (1,1)
public Size Size { get; set; }
public SizeAnimationCollectionBuilder SizeAnimations { get; set; }
// ImageData: Default is null -- nothing drawn
public ImageData ImageData { get; set; }
}
{
public NineGridBrush(ImageData image,
int LeftBorder, int RightBorder,
int TopBorder, int BottomBorder);
public BrushMappingMode DestinationUnits { get; }
public Transform Transform { get; }
public Point Origin { get; }
public PointAnimationCollection OriginAnimations { get; }
public Size Size { get; }
public SizeAnimationCollection SizeAnimations { get; }
public int LeftBorder { get; }
public int RightBorder { get; }
public int TopBorder { get; }
public int BottomBorder { get; }
public ImageData ImageData { get; }
}
public class System.Window.Media.NineGridBrushBuilder : BrushBuilder
{
public NineGridBrushBuilder( );
public NineGridBrushBuilder (ImageData image,
int LeftBorder, int RightBorder,
int TopBorder, int BottomBorder);
public NineGridBrushBuilder (NineGridBrush ngb);
// DestinationUnits: Default is ObjectBoundingBox
public BrushMappingMode DestinationUnits { get; set; }
// Transform: Default is identity
public Transform Transform { get; set; }
// Origin: Default is (0,0)
public Point Origin { get; set; }
public PointAnimationCollectionBuilder OriginAnimations { get; set; }
// Size: Default is (1,1)
public Size Size { get; set; }
public SizeAnimationCollectionBuilder SizeAnimations { get; set; }
// *Border: default to 0
public int LeftBorder { get; set; }
public int RightBorder { get; set; }
public int TopBorder { get; set; }
public int BottomBorder { get; set; }
// ImageData: Default is null -- nothing drawn
public ImageData ImageData { get; set; }
}
{
// Construction and setting
public Matrix( ); // defaults to identity
public Matrix(
double m00, double m01,
double m10, double m11,
double m20, double m21);
// Identity
public static readonly Matrix Identity;
public void SetIdentity( );
public bool IsIdentity { get; }
public static Matrix operator *(Matrix matrix1, Matrix matrix2);
public static Point operator *(Matrix matrix, Point point);
// These function reinitialize the current matrix with
// the specified transform matrix.
public void SetTranslation(double dx, double dy);
public void SetTranslation(Size offset);
public void SetRotation(double angle); // degrees
public void SetRotation(double angle, Point center); // degrees
public void SetRotationRadians (double angle);
public void SetRotationRadians(double angle, Point center);
public void SetScaling(double sx, double sy);
public void SetScaling(double sx, double sy, Point center);
public void SetSkewX(double angle); // degrees
public void SetSkewY(double angle); // degrees
public void SetSkewXRadians(double angle);
public void SetSkewYRadians(double angle);
// These function post-multiply the current matrix
// with the specified transform
public void ApplyTranslation(double dx, double dy);
public void ApplyTranslation(Size offApply);
public void ApplyRotation(double angle); // degrees
public void ApplyRotation(double angle, Point center); // degrees
public void ApplyRotationRadian(double angle);
public void ApplyRotationRadian(double angle, Point center);
public void ApplyScaling(double sx, double sy);
public void ApplyScaling(double sx, double sy, Point center);
public void ApplySkewX(double angle); // degrees
public void ApplySkewY(double angle); // degrees
public void ApplySkewXRadians(double angle);
public void ApplySkewYRadians(double angle);
public void ApplyMatrix(Matrix matrix);
// Inversion stuff
public double Determinant { get; }
public bool IsInvertible { get; }
public void Invert( ); // Throws ArgumentException if ! IsInvertable
public static Matrix Invert(Matrix matrix);
// Individual members
public double M00 { get; set; }
public double M01 { get; set; }
public double M10 { get; set; }
public double M11 { get; set; }
public double M20 { get; set; }
public double M21 { get; set; }
};
上述の詳細な説明から分かるように、シーングラフとインタフェースを取る能力をプログラムコードに提供するシステム、方法、およびオブジェクトモデルが提供される。このシステム、方法、およびオブジェクトモデルは、使用が容易でありながら強力で柔軟性と拡張性を備える。
110、180 コンピュータ
120 処理装置
121 システムバス
130 システムメモリー
131 ROM
132 RAM
133 BIOS
134、144 オペレーティングシステム
135、145、185 アプリケーションプログラム
136、146 他のプログラムモジュール
137、147 プログラムデータ
140、150 インタフェース
141 ハードディスクドライブ
151 磁気ディスクドライブ
152 磁気ディスク
155 光ディスクドライブ
156 光ディスク
160 ユーザ入力インタフェース
161 ポインティングデバイス
162 キーボード
163 マイクロフォン
164 タブレット
170 ネットワークインタフェース(アダプタ)
171 LAN
172 モデム
173 WAN
181 メモリー記憶装置
190 ビデオインタフェース
191 モニタ
192 タッチスクリーンインタフェース
193 タッチスクリーンパネル
194 出力周辺インタフェース
195 スピーカ
196 プリンタ
200 階層アーキテクチャ
202 プログラムコード
204 画像化
206 ベクトルグラフィック要素
208 要素/プロパティシステム
210 プレゼンタシステム
212 ビジュアルAPI層
214、218 合成およびアニメーションエンジン
216 データ構造
220 タイミングおよびアニメーションシステム
222 ハードウェア
300、400 シーングラフ
500 ビジュアルクラス
302、310、315、501、502、503、504、505、506、1100 ビジュアル
304 ビジュアルマネジャオブジェクト
306 Hwnd
308 ディスパッチャ
315 サーフェスビジュアル
316、317、323 描画コンテクスト
318、319 命令リスト
322 メモリーサーフェス(ビットマップ)
324 ピクセルデータ
330 サーフェスビジュアルマネジャ
332 部分グラフ
505 HwndVisual
800、802、804 画像
900 サーフェスビジュアルマネジャオブジェクト
902 サーフェスリスト
904 ビジュアルツリー
1420 円形状
1422 長方形
1800、1802、1804、1806 タイル
2302、2304 インスタンス
Claims (1)
- プロセッサー、メモリーおよびグラフィックサブシステムを有するコンピューティング環境において、オブジェクトモデルを用いて前記グラフィックサブシステムを制御するための方法であって、
前記プロセッサーが、前記グラフィックサブシステムを介してグラフィック画像を描画するためのプロパティと、グラフィック処理アプリケーションとの間の専用の複数のアプリケーションプログラムインタフェースとを含むビジュアルオブジェクトを作成する要求を、定義されたインタフェースを介して受け取るステップと、
前記プロセッサーが、前記要求に応答して前記メモリー上に前記ビジュアルオブジェクトを作成するステップと、
前記プロセッサーが、複数の前記ビジュアルオブジェクトを用いてシーングラフを構築する要求を、定義されたインタフェースを介して受け取るステップと、
前記プロセッサーが、前記要求に応答して前記メモリー上に階層的に構成されたシーングラフを構築するステップと、
前記プロセッサーが、前記グラフィック画像を描画するためのプロパティに関連するデータを前記ビジュアルオブジェクトにポピュレートするための描画コンテクストオブジェクトを当該ビジュアルオブジェクトに対して提供するステップと、
前記メモリーに、前記描画コンテクストオブジェクトを介して受け取られるデータを前記ビジュアルオブジェクトと関連して保持するステップと、
前記プロセッサーが、前記複数のビジュアルオブジェクトを含む前記シーングラフを処理して、前記グラフィックサブシステムにグラフィックデータ及び描画コマンドを提供するステップと、
を備えたことを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/402,268 | 2003-03-27 | ||
US10/402,268 US7126606B2 (en) | 2003-03-27 | 2003-03-27 | Visual and scene graph interfaces |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003141210A Division JP2004295858A (ja) | 2003-03-27 | 2003-05-19 | ビジュアルおよびシーングラフインタフェース |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010182324A JP2010182324A (ja) | 2010-08-19 |
JP5101648B2 true JP5101648B2 (ja) | 2012-12-19 |
Family
ID=23591219
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003141210A Pending JP2004295858A (ja) | 2003-03-27 | 2003-05-19 | ビジュアルおよびシーングラフインタフェース |
JP2010054241A Expired - Fee Related JP5101648B2 (ja) | 2003-03-27 | 2010-03-11 | ビジュアルおよびシーングラフインタフェース |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003141210A Pending JP2004295858A (ja) | 2003-03-27 | 2003-05-19 | ビジュアルおよびシーングラフインタフェース |
Country Status (24)
Country | Link |
---|---|
US (1) | US7126606B2 (ja) |
EP (1) | EP1462936A3 (ja) |
JP (2) | JP2004295858A (ja) |
KR (1) | KR100962920B1 (ja) |
CN (1) | CN100557596C (ja) |
AU (1) | AU2003204006B2 (ja) |
BR (1) | BR0302161A (ja) |
CA (1) | CA2428814A1 (ja) |
CO (1) | CO5460279A1 (ja) |
EC (1) | ECSP034608A (ja) |
GT (1) | GT200300264A (ja) |
HN (1) | HN2003000146A (ja) |
HR (1) | HRP20030390A2 (ja) |
HU (1) | HUP0301191A3 (ja) |
IL (1) | IL155927A (ja) |
MX (1) | MXPA03004412A (ja) |
NO (1) | NO329881B1 (ja) |
NZ (1) | NZ525666A (ja) |
PA (1) | PA8573901A1 (ja) |
RU (1) | RU2324229C2 (ja) |
SG (1) | SG121772A1 (ja) |
TR (1) | TR200300695A2 (ja) |
TW (1) | TWI291627B (ja) |
ZA (1) | ZA200303507B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102254768B1 (ko) * | 2020-08-28 | 2021-05-24 | 광주과학기술원 | 씬 그래프 생성장치 |
Families Citing this family (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7619633B2 (en) * | 2002-06-27 | 2009-11-17 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
US7064766B2 (en) | 2001-10-18 | 2006-06-20 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
US7443401B2 (en) * | 2001-10-18 | 2008-10-28 | Microsoft Corporation | Multiple-level graphics processing with animation interval generation |
US7161599B2 (en) * | 2001-10-18 | 2007-01-09 | Microsoft Corporation | Multiple-level graphics processing system and method |
US6919891B2 (en) | 2001-10-18 | 2005-07-19 | Microsoft Corporation | Generic parameterization for a scene graph |
FR2851716A1 (fr) * | 2003-02-21 | 2004-08-27 | France Telecom | Procede pour la gestion de descriptions d'animations graphiques destinees a etre affichees, recepteur et systeme mettant en oeuvre ce procede. |
US7417645B2 (en) * | 2003-03-27 | 2008-08-26 | Microsoft Corporation | Markup language and object model for vector graphics |
US7466315B2 (en) * | 2003-03-27 | 2008-12-16 | Microsoft Corporation | Visual and scene graph interfaces |
US7088374B2 (en) * | 2003-03-27 | 2006-08-08 | Microsoft Corporation | System and method for managing visual structure, timing, and animation in a graphics processing system |
US7486294B2 (en) * | 2003-03-27 | 2009-02-03 | Microsoft Corporation | Vector graphics element-based model, application programming interface, and markup language |
WO2005039185A1 (en) * | 2003-10-06 | 2005-04-28 | Mindego, Inc. | System and method for creating and executing rich applications on multimedia terminals |
US7511718B2 (en) * | 2003-10-23 | 2009-03-31 | Microsoft Corporation | Media integration layer |
US7290216B1 (en) * | 2004-01-22 | 2007-10-30 | Sun Microsystems, Inc. | Method and apparatus for implementing a scene-graph-aware user interface manager |
US7603624B2 (en) * | 2004-10-21 | 2009-10-13 | Microsoft Corporation | System and method for styling content in a graphical user interface control |
US7564458B2 (en) * | 2004-12-15 | 2009-07-21 | Microsoft Corporation | System and method for interactively linking data to shapes in a diagram |
US7924285B2 (en) * | 2005-04-06 | 2011-04-12 | Microsoft Corporation | Exposing various levels of text granularity for animation and other effects |
US20060232589A1 (en) * | 2005-04-19 | 2006-10-19 | Microsoft Corporation | Uninterrupted execution of active animation sequences in orphaned rendering objects |
WO2007004837A1 (en) * | 2005-07-01 | 2007-01-11 | Nhn Corporation | Method for rendering objects in game engine and recordable media recording programs for enabling the method |
KR100820256B1 (ko) * | 2005-07-01 | 2008-04-07 | 엔에이치엔(주) | 게임 엔진에서 이펙트를 구현하는 방법 및 그 장치 |
EP1994507B1 (en) * | 2006-03-10 | 2009-07-29 | Nero AG | Apparatus and method for providing a sequence of video frames, apparatus and method for providing a scene model, scene model, apparatus and method for creating a menu structure and computer program |
RU2457532C2 (ru) * | 2006-03-10 | 2012-07-27 | Кенджи Йошида | Система обработки ввода для устройства обработки информации |
US8612847B2 (en) * | 2006-10-03 | 2013-12-17 | Adobe Systems Incorporated | Embedding rendering interface |
JP4889432B2 (ja) * | 2006-10-06 | 2012-03-07 | 愛三工業株式会社 | 燃料ポンプ |
US20080158254A1 (en) * | 2006-12-29 | 2008-07-03 | Hong Jiang | Using supplementary information of bounding boxes in multi-layer video composition |
US8786628B2 (en) * | 2007-09-14 | 2014-07-22 | Microsoft Corporation | Rendering electronic chart objects |
KR101454609B1 (ko) * | 2008-01-18 | 2014-10-27 | 디지털옵틱스 코포레이션 유럽 리미티드 | 이미지 프로세싱 방법 및 장치 |
US8009921B2 (en) * | 2008-02-19 | 2011-08-30 | Xerox Corporation | Context dependent intelligent thumbnail images |
US8274516B2 (en) * | 2008-08-04 | 2012-09-25 | Microsoft Corporation | GPU scene composition and animation |
KR101520067B1 (ko) * | 2008-10-02 | 2015-05-13 | 삼성전자 주식회사 | 윈도우 시스템을 구현한 그래픽 처리 방법 및 그 장치 |
US8477136B2 (en) * | 2009-02-13 | 2013-07-02 | Mobitv, Inc. | Functional presentation layer in a lightweight client architecture |
US8751284B2 (en) * | 2009-04-30 | 2014-06-10 | United Parcel Service Of America, Inc. | Systems and methods for a real-time workflow platform using Petri net model mappings |
US8638343B2 (en) * | 2009-04-30 | 2014-01-28 | Microsoft Corporation | Data visualization platform performance optimization |
US9250926B2 (en) * | 2009-04-30 | 2016-02-02 | Microsoft Technology Licensing, Llc | Platform extensibility framework |
US8610731B2 (en) * | 2009-04-30 | 2013-12-17 | Microsoft Corporation | Dynamic graphics pipeline and in-place rasterization |
US8332811B2 (en) * | 2009-04-30 | 2012-12-11 | United Parcel Service Of America, Inc. | Systems and methods for generating source code for workflow platform |
CN101833418B (zh) | 2010-04-28 | 2014-12-31 | 华为终端有限公司 | 一种在界面中添加图标的方法、装置及移动终端 |
US9396001B2 (en) * | 2010-11-08 | 2016-07-19 | Sony Corporation | Window management for an embedded system |
US9152395B2 (en) | 2010-12-13 | 2015-10-06 | Microsoft Technology Licensing, Llc | Response to user input based on declarative mappings |
CN102393816B (zh) * | 2011-06-24 | 2014-01-01 | 浙大网新科技股份有限公司 | WinCE应用在OMS上全屏显示的方法 |
US9563971B2 (en) | 2011-09-09 | 2017-02-07 | Microsoft Technology Licensing, Llc | Composition system thread |
US9384711B2 (en) | 2012-02-15 | 2016-07-05 | Microsoft Technology Licensing, Llc | Speculative render ahead and caching in multiple passes |
US9177533B2 (en) | 2012-05-31 | 2015-11-03 | Microsoft Technology Licensing, Llc | Virtual surface compaction |
US9235925B2 (en) * | 2012-05-31 | 2016-01-12 | Microsoft Technology Licensing, Llc | Virtual surface rendering |
US9230517B2 (en) | 2012-05-31 | 2016-01-05 | Microsoft Technology Licensing, Llc | Virtual surface gutters |
US9286122B2 (en) | 2012-05-31 | 2016-03-15 | Microsoft Technology Licensing, Llc | Display techniques using virtual surface allocation |
US9171401B2 (en) | 2013-03-14 | 2015-10-27 | Dreamworks Animation Llc | Conservative partitioning for rendering a computer-generated animation |
US9224239B2 (en) | 2013-03-14 | 2015-12-29 | Dreamworks Animation Llc | Look-based selection for rendering a computer-generated animation |
US9626787B2 (en) | 2013-03-15 | 2017-04-18 | Dreamworks Animation Llc | For node in render setup graph |
US9514562B2 (en) * | 2013-03-15 | 2016-12-06 | Dreamworks Animation Llc | Procedural partitioning of a scene |
US9208597B2 (en) | 2013-03-15 | 2015-12-08 | Dreamworks Animation Llc | Generalized instancing for three-dimensional scene data |
US9659398B2 (en) | 2013-03-15 | 2017-05-23 | Dreamworks Animation Llc | Multiple visual representations of lighting effects in a computer animation scene |
US9230294B2 (en) | 2013-03-15 | 2016-01-05 | Dreamworks Animation Llc | Preserving and reusing intermediate data |
US9589382B2 (en) * | 2013-03-15 | 2017-03-07 | Dreamworks Animation Llc | Render setup graph |
US9811936B2 (en) | 2013-03-15 | 2017-11-07 | Dreamworks Animation L.L.C. | Level-based data sharing for digital content production |
US9218785B2 (en) | 2013-03-15 | 2015-12-22 | Dreamworks Animation Llc | Lighting correction filters |
US20140351722A1 (en) * | 2013-05-23 | 2014-11-27 | Microsoft | User interface elements for multiple displays |
US9307007B2 (en) | 2013-06-14 | 2016-04-05 | Microsoft Technology Licensing, Llc | Content pre-render and pre-fetch techniques |
CN103473077A (zh) * | 2013-09-27 | 2013-12-25 | 珠海市君天电子科技有限公司 | 丰富应用程序主窗口显示界面的方法及装置 |
US9733823B2 (en) | 2015-04-01 | 2017-08-15 | Microsoft Technology Licensing, Llc | View activation via hit testing in an asynchronous windowing system |
US20220143509A1 (en) * | 2019-03-19 | 2022-05-12 | Highwire Games Llc | Dynamic 3d environment generation |
US10607105B1 (en) * | 2019-03-27 | 2020-03-31 | Disney Enterprises, Inc. | Perceptual data association |
CN110826218B (zh) * | 2019-11-01 | 2023-03-21 | 成都景中教育软件有限公司 | 一种动态几何软件中基于参数的坐标系实现方法 |
US11210847B2 (en) | 2019-11-27 | 2021-12-28 | Arm Limited | Graphics processing systems |
US11210821B2 (en) * | 2019-11-27 | 2021-12-28 | Arm Limited | Graphics processing systems |
US11216993B2 (en) | 2019-11-27 | 2022-01-04 | Arm Limited | Graphics processing systems |
US11170555B2 (en) | 2019-11-27 | 2021-11-09 | Arm Limited | Graphics processing systems |
US20220134222A1 (en) * | 2020-11-03 | 2022-05-05 | Nvidia Corporation | Delta propagation in cloud-centric platforms for collaboration and connectivity |
CN115309313A (zh) * | 2022-08-09 | 2022-11-08 | 盈帜科技(常州)有限公司 | 一种二维场景海量矢量数据显示方法及设备 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5912666A (en) | 1994-08-23 | 1999-06-15 | Object Technology Licensing Corp. | Object-oriented global cursor tool |
US5986667A (en) * | 1994-12-22 | 1999-11-16 | Apple Computer, Inc. | Mechanism for rendering scenes using an object drawing subsystem |
DE19581872B4 (de) * | 1994-12-22 | 2006-11-16 | Apple Computer, Inc., Cupertino | Dreidimensionales Graphikaufbereitungssystem |
US5561752A (en) * | 1994-12-22 | 1996-10-01 | Apple Computer, Inc. | Multipass graphics rendering method and apparatus with re-traverse flag |
US5930810A (en) | 1995-08-09 | 1999-07-27 | Taylor Corporation | Printing system with pre-defined user modifiable forms and local and remote printing |
US6275857B1 (en) | 1996-10-30 | 2001-08-14 | Microsoft Corporation | System and method for freeing shared resources in a computer system |
US6195694B1 (en) | 1997-03-13 | 2001-02-27 | International Business Machines Corporation | Server for reconfiguring control of a subset of devices on one or more kiosks |
US6215495B1 (en) * | 1997-05-30 | 2001-04-10 | Silicon Graphics, Inc. | Platform independent application program interface for interactive 3D scene management |
US6314470B1 (en) | 1997-07-25 | 2001-11-06 | Hewlett Packard Company | System and method for asynchronously accessing a graphics system for graphics application evaluation and control |
US6243856B1 (en) * | 1998-02-03 | 2001-06-05 | Amazing Media, Inc. | System and method for encoding a scene graph |
US6266053B1 (en) * | 1998-04-03 | 2001-07-24 | Synapix, Inc. | Time inheritance scene graph for representation of media content |
US6237092B1 (en) | 1998-05-05 | 2001-05-22 | International Business Machines Corp. | Client-server system with central application management allowing an administrator to configure user and group contexts during application configuration without relaunching the application |
US6263339B1 (en) | 1998-08-25 | 2001-07-17 | Informix Software, Inc. | Dynamic object visualization and code generation |
JP2001273520A (ja) | 2000-03-23 | 2001-10-05 | Famotik Ltd | マルチメディアドキュメント統合表示システム |
US6717599B1 (en) | 2000-06-29 | 2004-04-06 | Microsoft Corporation | Method, system, and computer program product for implementing derivative operators with graphics hardware |
US6910044B2 (en) | 2000-09-20 | 2005-06-21 | Sap Aktiengesellschaft | Method and apparatus for structuring, maintaining, and using families of data |
FR2823942A1 (fr) * | 2001-04-24 | 2002-10-25 | Koninkl Philips Electronics Nv | Dispositif pour une conversion d'un format bifs textuel vers un format bifs binaire |
US7069503B2 (en) | 2001-06-04 | 2006-06-27 | Murata Kikai Kabushiki Kaisha | Device and program for structured document generation data structure of structural document |
US6919891B2 (en) | 2001-10-18 | 2005-07-19 | Microsoft Corporation | Generic parameterization for a scene graph |
US7055092B2 (en) | 2001-12-05 | 2006-05-30 | Canon Kabushiki Kaisha | Directory for multi-page SVG document |
US20030110297A1 (en) | 2001-12-12 | 2003-06-12 | Tabatabai Ali J. | Transforming multimedia data for delivery to multiple heterogeneous devices |
US20040110490A1 (en) | 2001-12-20 | 2004-06-10 | Steele Jay D. | Method and apparatus for providing content to media devices |
KR100453225B1 (ko) | 2001-12-26 | 2004-10-15 | 한국전자통신연구원 | 3차원 가상 현실 구현을 위한 클라이언트 시스템과 이를이용한 가상 현실 구현 방법 |
US7076332B2 (en) | 2002-01-18 | 2006-07-11 | National Instruments Corporation | System and method for invoking execution of a sequence of operations that includes motion control, machine vision, and data acquisition (DAQ) functionality |
US7240346B2 (en) * | 2002-11-13 | 2007-07-03 | Microsoft Corporation | Method and system for accessing drawing resources |
US7088374B2 (en) | 2003-03-27 | 2006-08-08 | Microsoft Corporation | System and method for managing visual structure, timing, and animation in a graphics processing system |
US7466315B2 (en) | 2003-03-27 | 2008-12-16 | Microsoft Corporation | Visual and scene graph interfaces |
US8051389B2 (en) | 2003-08-26 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Methods of displaying resources of overlapping but separate hierarchies |
-
2003
- 2003-03-27 US US10/402,268 patent/US7126606B2/en not_active Expired - Lifetime
- 2003-05-02 NZ NZ525666A patent/NZ525666A/en not_active IP Right Cessation
- 2003-05-05 HU HU0301191A patent/HUP0301191A3/hu unknown
- 2003-05-06 AU AU2003204006A patent/AU2003204006B2/en not_active Ceased
- 2003-05-07 ZA ZA200303507A patent/ZA200303507B/xx unknown
- 2003-05-12 NO NO20032112A patent/NO329881B1/no not_active IP Right Cessation
- 2003-05-13 SG SG200302787A patent/SG121772A1/en unknown
- 2003-05-14 EP EP03010808A patent/EP1462936A3/en not_active Withdrawn
- 2003-05-14 HR HR20030390A patent/HRP20030390A2/hr not_active Application Discontinuation
- 2003-05-15 TW TW092113258A patent/TWI291627B/zh not_active IP Right Cessation
- 2003-05-15 IL IL155927A patent/IL155927A/en active IP Right Grant
- 2003-05-15 CA CA002428814A patent/CA2428814A1/en not_active Abandoned
- 2003-05-16 BR BR0302161-0A patent/BR0302161A/pt not_active Application Discontinuation
- 2003-05-16 EC EC2003004608A patent/ECSP034608A/es unknown
- 2003-05-16 PA PA20038573901A patent/PA8573901A1/es unknown
- 2003-05-16 RU RU2003114530/09A patent/RU2324229C2/ru not_active IP Right Cessation
- 2003-05-16 TR TR2003/00695A patent/TR200300695A2/xx unknown
- 2003-05-17 KR KR1020030031435A patent/KR100962920B1/ko active IP Right Grant
- 2003-05-19 JP JP2003141210A patent/JP2004295858A/ja active Pending
- 2003-05-19 MX MXPA03004412A patent/MXPA03004412A/es unknown
- 2003-05-19 CO CO03041492A patent/CO5460279A1/es not_active Application Discontinuation
- 2003-05-20 HN HN2003000146A patent/HN2003000146A/es unknown
- 2003-06-30 CN CNB031457363A patent/CN100557596C/zh not_active Expired - Lifetime
- 2003-12-01 GT GT200300264A patent/GT200300264A/es unknown
-
2010
- 2010-03-11 JP JP2010054241A patent/JP5101648B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102254768B1 (ko) * | 2020-08-28 | 2021-05-24 | 광주과학기술원 | 씬 그래프 생성장치 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5101648B2 (ja) | ビジュアルおよびシーングラフインタフェース | |
JP4290477B2 (ja) | ベクターグラフィック用のマークアップ言語およびオブジェクトモデル | |
JP4796499B2 (ja) | 映像およびシーングラフインターフェイス | |
JP4796500B2 (ja) | ベクトルグラフィックスのためのマークアップ言語およびオブジェクトモデル | |
RU2360275C2 (ru) | Уровень интеграции сред |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111130 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120229 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120305 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120330 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120404 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120426 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120502 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120529 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120828 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120926 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151005 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5101648 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |