KR20130107562A - System and method for service of flash contents using opengles - Google Patents

System and method for service of flash contents using opengles Download PDF

Info

Publication number
KR20130107562A
KR20130107562A KR1020120029453A KR20120029453A KR20130107562A KR 20130107562 A KR20130107562 A KR 20130107562A KR 1020120029453 A KR1020120029453 A KR 1020120029453A KR 20120029453 A KR20120029453 A KR 20120029453A KR 20130107562 A KR20130107562 A KR 20130107562A
Authority
KR
South Korea
Prior art keywords
manager
flash
jsf
flash content
service system
Prior art date
Application number
KR1020120029453A
Other languages
Korean (ko)
Inventor
서정식
고미송
Original Assignee
(주)이플래시
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 (주)이플래시 filed Critical (주)이플래시
Priority to KR1020120029453A priority Critical patent/KR20130107562A/en
Publication of KR20130107562A publication Critical patent/KR20130107562A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Finance (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The present invention relates to a flash content service system using OpenGLES and a method thereof, and in particular, to provide a simple flash content service system under an operating system that is difficult to produce flash content as an application. Such a flash content service system consists of the following steps.
In order to serve Flash content when serving Flash-created content in an application app store, analyzing a jsf file with a JSF parser, and using the action method used in SWF through the Action Manager. Mapping the graphic data used in the SWF with the CoreGraphic component of iOS through the Display Manager, and providing the Flash content produced, processed, and modified to an Application Provider. It features.

Figure pat00001

Description

Flash content service system and method using オ penGLES

The present invention relates to a flash content service system based on iOS. Specifically, a method of software modeling flash content using OpenGLES to run on Apple iOS-based devices that do not support Flash, and such It relates to a system to which the method is applied.

Currently, it is difficult to sell and service Flash applications on the App Store in iOS. One way to develop an app on iOS and put it on the App Store is to use the XCode IDE on Mac OS to compile the app binary file that comes after you compile it. Basically, you need to learn the Object-C language, and you can develop applications with a full understanding of the Cacoa framework that makes up iOS. Trying to develop a simple application is not easy. Flash developers spend a lot of time, money, and accessibility to develop applications that run on iOS.

The Packager for iPhone, available in Adobe Flash Professional CS5.5, lets you deploy and service Flash in the App Store. FLA file is a file format used by Adobe Flash Professtional CS5.5. Since one FLA file was provided by only one app, it did not meet the market demand. In general, one educational app is composed of hundreds to thousands of FLAs. In this case, there were problems that need to be made and distributed as hundreds to thousands of apps. From the user's point of view, it was difficult to force the time, effort, and cost of downloading each app, thus reducing accessibility. The present invention is to solve the method of serving a number of contents made in Flash in the app store.

The present invention has been made to solve the above problems, and provides a simple flash content service method under an operating system that does not support flash. Such a flash content service method consists of the following steps.

In order to serve Flash content when serving Flash-created content in an application app store, analyzing a jsf file with a JSF parser, and using the action method used in SWF through the Action Manager. Mapping the graphic data used in the SWF with the CoreGraphic component of iOS through the Display Manager, and providing the Flash content produced, processed, and modified to an Application Provider. It features.

Existing FLA files can be serviced through the App Store.

You don't need to distribute hundreds or thousands of apps to serve Flash files in the App Store, and you don't necessarily need a separate Mac development environment for your convenience. Access to each Flash content is increased, and Flash content can be provided without understanding iOS's ObjectC and Cocoa frameworks.

1 is an overall configuration diagram of a flash content providing method according to an embodiment of the present invention.
2 is a configuration diagram of a driving method including initialization of OpenGLES according to an embodiment of the present invention.
3 is a configuration diagram of a driving method including an update of OpenGLES according to an embodiment of the present invention.

The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, in which: There will be. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

SWF is a vector graphics file format created by Adobe Systems' Flash software. SWF files born to downsize web data can contain animations or applets with some degree of interaction. SWF sometimes inserts video display graphics and menus into DVD movies and television commercials.

1 is an overall configuration diagram of a flash content providing method according to an embodiment of the present invention.

As shown in FIG. 1, in a method of serving flash content when serving content made with flash in an application app store, a step of analyzing a jsf file with a JSF parser is performed through a JSF converter. Detach the file to play the file for iOS.

The Action Manager uses the action method used in SWF as it is, and in principle, the action method is not modified to maintain compatibility with SWF. However, depending on the situation, it is also possible to modify and apply this action method.

The display manager (DisPlay Manager) manages the mapping of graphic data used in SWF to CoreGraphic component of iOS as a graphic format. For example, JPEG, PNG, and BMP may be used.

The display manager manages each scene and manages it by playing scenes on the screen through FrameBuffer management. In the present invention, OpenGLES is used to improve frame management performance.

The Audio Manager manages the mapping of sound data used in the SWF with the CoreAudio component of iOS. Examples of sound formats supported are MP3 and PCM.

The File Manager manages the data and resources used by JSF through the FileManager on iOS.

The Drm Manager distributes and manages Drm-applied content to protect JSF content.

In the present invention, instead of displaying FrameBuffer in a general UIView in iOS, it is configured to display Flash using OpenGLES. iOS uses OpenGLES to create game applications, which support up to 60 frames per second. Mapping this to Flash frames and OpenGLES's frames improves display performance.

2 is a configuration diagram of a driving method including initialization of OpenGLES according to an embodiment of the present invention.

As shown in FIG. 2, OpenGLES initialization of iOS is required in the display view. The technique used by the display manager is to display the FrameBuffer using OpenGLES textures. Initialize the texture using OpenGLES's glActiveTexture and glGenTextures.

Texture initialization can take the example shown in Table 1.

-(BOOL) initOpenGLES20
{
gProgram = [self createProgram: gVertexShader: gFragmentShader];
if (! gProgram)
{
return false;
}

u_mvpMatrix_location = glGetUniformLocation (gProgram, "u_mvpMatrix");
u_sTexture_location = glGetUniformLocation (gProgram, "u_sTexture");
a_vPosition_location = glGetAttribLocation (gProgram, "a_vPosition");
a_vTexCoord_location = glGetAttribLocation (gProgram, "a_vTexCoord");
a_vColor_location = glGetAttribLocation (gProgram, "a_vColor");

glUseProgram (gProgram);

glViewport (nViewPointX, nViewPointY, nFrameBufferWidth, nFrameBufferHeight);
glDisable (GL_CULL_FACE);
glDisable (GL_DEPTH_TEST);
glEnable (GL_TEXTURE_2D);

glPixelStorei (GL_UNPACK_ALIGNMENT, 1);
glActiveTexture (GL_TEXTURE0);
glGenTextures (1, &m_textureFlashID);

EnglishWoodsAppDelegate * appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.m_textureFlashID = m_textureFlashID;

return true;
}

After initializing OpenGLES, OpenGLES sends the initialization result to Display View, which displays the initialization result of OpenGLES.

In the next step in the display to the display manager, CGBitmapContextCreate is used to create an image format that can be used in the display manager. FrameBuffer is created with ARGB including alpha value.

The creation of such a frame buffer can illustratively take the manner of Table 2.

pFrameBuffer = malloc (CGRectGetWidth (frame) * CGRectGetHeight (frame) * 4);

CGColorSpaceRef colorSpace;
void * bitmapData;
int bitmapByteCount;
int bitmapBytesPerRow;

bitmapBytesPerRow = (CGRectGetWidth (frame) * 4);
bitmapByteCount = (bitmapBytesPerRow * CGRectGetHeight (frame));

colorSpace = CGColorSpaceCreateDeviceRGB ();
bitmapData = pFrameBuffer;
if (bitmapData == NULL)
{
return FALSE;
}

m_GraphicContext = CGBitmapContextCreate (bitmapData,
CGRectGetWidth (frame),
CGRectGetHeight (frame),
8,
bitmapBytesPerRow,
colorSpace, kCGImageAlphaPremultipliedLast);

In the step of moving from Display View to JSF, pFrameBuffer initializes the image data (eg, JPEG, PNG, BMP, Vector, Text, etc.) in the JSF Rander of FIG.

In the next step from JSF Render to Display Manager and from Display Manager to Display View, pFrameBuffer is returned so that pFrameBuffer can be used in Display Manager in JSF Rander.

Finally, we pass the results returned to OpenGLES in the transition from Display View to OpenGLES.

3 is a configuration diagram of a driving method including an update of OpenGLES according to an embodiment of the present invention.

As shown in FIG. 3, openGLES of iOS is called according to the interval of frames when startAnimation is called. Fits frame in SWF [aDisplayLink setFrameInterval: animationFrameInterval]; If you do, you can update to the desired frame. -DrawFrame is then called for each frame.

One embodiment of the process of starting the start animation is described in Table 3.


-(void) startAnimation
{
if (! animating)
{
CADisplayLink * aDisplayLink = [[UIScreen mainScreen] displayLinkWithTarget: self selector: @selector (drawFrame)];
[aDisplayLink setFrameInterval: animationFrameInterval];
[aDisplayLink addToRunLoop: [NSRunLoop currentRunLoop] forMode: NSDefaultRunLoopMode];
self.displayLink = aDisplayLink;

animating = TRUE;
}
}

One embodiment of the process that -drawFrame is called for each frame is shown in Table 4.

-(void) drawFrame
{
[(EAGLView *) self.view setFramebuffer];
Rect * rects;
int count;
int i;
float height = CGRectGetHeight ([flashView frame]);
if (! [player stepFrame: & rects nRects: & count])
{
return;
}
static float mvp_matrix [16];
memset (mvp_matrix, 0, sizeof (mvp_matrix));
mvp_matrix [0] = 1.0f;
mvp_matrix [5] = 1.0f;
mvp_matrix [10] = 1.0f;
mvp_matrix [15] = 1.0f;
glUniformMatrix4fv (u_mvpMatrix_location, 1, GL_FALSE, mvp_matrix);
glClearColor (0, 0, 0, 0);
glClear (GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
glBindTexture (GL_TEXTURE_2D, m_textureFlashID);
glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, nFrameBufferWidth, nFrameBufferHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE,

[flashView getFrameBuffer]);

glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glViewport (nViewPointX, nViewPointY, nFrameBufferWidth, nFrameBufferHeight);

static const GLfloat squareVertices [] = {
1.0, -1.0, // Bottom right
1.0, 1.0, // Top right
-1.0, -1.0, // Bottom left
-1.0, 1.0, // Top leftt
};

static const GLfloat squareTextureCoords [] = {
1, 1, // bottom right
1, 0, // top right
0, 1, // bottom left
0, 0, // top left
};

glVertexAttrib4f (a_vColor_location, 1.0f, 1.0f, 1.0f, 1.0f);
glDisableVertexAttribArray (a_vColor_location);
glVertexAttribPointer (a_vPosition_location, 2, GL_FLOAT, GL_FALSE, 0, squareVertices);
glEnableVertexAttribArray (a_vPosition_location);
glVertexAttribPointer (a_vTexCoord_location, 2, GL_FLOAT, GL_FALSE, 0, squareTextureCoords);
glEnableVertexAttribArray (a_vTexCoord_location);
glUniform1i (u_sTexture_location, 0);
glBindTexture (GL_TEXTURE_2D, m_textureFlashID);
glDrawArrays (GL_TRIANGLE_STRIP, 0, 4);
}
}
[(EAGLView *) self.view presentFramebuffer];
}

Afterwards, the display manager proceeds to the JSF renderer, and the frame buffer draws image data (for example, JPEG, PNG, BMP, Vector, Text, etc.) in JSF Render.

In the process of moving from JSF Render to Display Manager, the FrameBuffer value is transferred to Display Manager. In the process of moving from Display Manager to Display View, the FrameBuffer value is processed as Texture using glBindTexture and glTexlmage2D.

After that, in the step of proceeding to OpenGLES in the Display View, the FrameBuffer value processed in the previous step is sent to OpenGLES, and in the final step, it is actually played on the screen using OpenGLES. In addition to operating Flash on iOS, the present invention uses OpenGLES and uses a hardware rendering method to improve performance.

The present invention may be embodied as a program comprising a series of instructions for allowing a computer to perform the method of the present invention in one embodiment, and the present invention or the program is a floppy disk ( FD), compact disc (CD), hand-held multipurpose disc (DVD), Blu-ray disc (HD), hard disk, usb memory device or other various memory devices such as read by a computer or similar various electronic devices such as The present invention may be embodied in a computer-readable medium that can be connected to various similar electronic devices and perform the method of the present invention.

100: platform on which the present invention is made
101: JSF Parser
102: Action Manager
103: Display Manager
104: Audio Manager
105: Drm Manager
106: File Manager

Claims (8)

In the method of serving flash content when serving content made with flash in an application app store,
Analyzing the jsf file with a JSF parser;
Using an action scheme used in the SWF through an Action Manager;
Mapping graphic data used in the SWF with a CoreGraphic component of iOS through a display manager;
Providing flash content produced, processed, and modified to an application provider;
Flash content service system comprising a.
The method of claim 1,
Flash content service system comprising the step of mapping the sound data used in the SWF with an Audio Manager (Core Manager) with the CoreAudio component of iOS.
The method of claim 1,
A flash content service system comprising the steps of managing data and resources used by JSF through a file manager.
The method of claim 1,
Flash content service system comprising the step of protecting the content of the JSF through the DRM Manager (DRM Manager).
The method of claim 1,
Mapping sound data used in the SWF with an Audio Manager through a CoreAudio component of iOS;
Managing data and resources used by JSF through a file manager;
Flash content service system comprising a.
The method of claim 1,
Managing data and resources used by JSF through a file manager;
Protecting content of the JSF through a DRM manager;
Flash content service system comprising a.
The method of claim 1,
Mapping sound data used in the SWF with an Audio Manager through a CoreAudio component of iOS;
Managing data and resources used by JSF through a file manager;
Protecting content of the JSF through a DRM manager;
Flash content service system comprising a.
A method of serving flash content using the flash content service system of claim 1.



KR1020120029453A 2012-03-22 2012-03-22 System and method for service of flash contents using opengles KR20130107562A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120029453A KR20130107562A (en) 2012-03-22 2012-03-22 System and method for service of flash contents using opengles

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120029453A KR20130107562A (en) 2012-03-22 2012-03-22 System and method for service of flash contents using opengles

Publications (1)

Publication Number Publication Date
KR20130107562A true KR20130107562A (en) 2013-10-02

Family

ID=49630837

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120029453A KR20130107562A (en) 2012-03-22 2012-03-22 System and method for service of flash contents using opengles

Country Status (1)

Country Link
KR (1) KR20130107562A (en)

Similar Documents

Publication Publication Date Title
EP4198909A1 (en) Image rendering method and apparatus, and computer device and storage medium
TWI469811B (en) Method, apparatus, and computer for loading resource file of game engine
CN105447898A (en) Method and device for displaying 2D application interface in virtual real device
EP2164008A2 (en) System and method for transforming web page objects
CN104244087A (en) Video rendering method and device
KR20120132560A (en) Multi-buffer support for off-screen surfaces in a graphics processing system
CN108924584A (en) The packaging method and device of interactive video
TW202004674A (en) Method, device and equipment for showing rich text on 3D model
CN112055254B (en) Video playing method, device, terminal and storage medium
CN110647378A (en) Dynamic image loading method and device and electronic equipment
Klein Rendering Textures Up Close in a 3D Environment Using Adaptive Micro-Texturing
US10332299B2 (en) Scene graph for defining a stereoscopic graphical object
CN105578224A (en) Multimedia data acquisition method, device, smart television and set-top box
US20050021552A1 (en) Video playback image processing
TWI685254B (en) Method and device for determining insertion time period in audio and video
KR20130107562A (en) System and method for service of flash contents using opengles
CN112700519A (en) Animation display method and device, electronic equipment and computer readable storage medium
CN115391692A (en) Video processing method and device
CN114363699B (en) Animation file playing method and device and terminal equipment
CN113082720A (en) Prompt message determination method and device and electronic equipment
CN111526420A (en) Video rendering method, electronic device and storage medium
US20170287521A1 (en) Methods, circuits, devices, systems and associated computer executable code for composing composite content
CN113676753B (en) Method and device for displaying video in VR scene, electronic equipment and storage medium
Newmarch Raspberry Pi GPU audio video programming
US20090231330A1 (en) Method and system for rendering a three-dimensional scene using a dynamic graphics platform

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application