KR20130107562A - System and method for service of flash contents using opengles - Google Patents
System and method for service of flash contents using opengles Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000009471 action Effects 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 239000011159 matrix material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 235000009470 Theobroma cacao Nutrition 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
- G06Q20/1235—Shopping for digital content with control of digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
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.
Description
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.
{
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.
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.
{
[(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)
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.
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.
A flash content service system comprising the steps of managing data and resources used by JSF through a file manager.
Flash content service system comprising the step of protecting the content of the JSF through the DRM Manager (DRM Manager).
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.
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.
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.
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) |
-
2012
- 2012-03-22 KR KR1020120029453A patent/KR20130107562A/en not_active Application Discontinuation
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 |