OpenGL learning diary-2015.3.13 -- Multi-instance rendering, opengl-2015.3.13Instancing or instancd rendering is a method for continuously executing multiple identical rendering commands. The rendering results produced by each command are slightly different. It is a very effective method that uses a small number of api calls to render a large number of ry. OpenGL
Today's implementation is to draw a rectangle on the Window object, and you can customize the coordinates of the rectangle, the length width, the color of the border's size, whether it fills, and the color when it fills.The main idea is to draw a border with a line, then draw a rectangle inside, and then choose the transparency of the rectangle according to the pattern of whether it is filled or not, and if it shows, the opacity is 1, and the opacity is 0.The following is the code for the rectan
1.2
OpenGLArchitecture
OpenGL supports multiple platforms, including Windows , liunx , and MACOs and UNIX . If the application Program does not use a large number of OS-related calls, therefore, porting the OpenGL program between different platforms is quite simple. Windows has an absolute advantage in the desktop operating system. therefore, the winodows application that develops
glbindtexture (gl_texture_2d, _textureid);Specifies the value of the uniform variable for the current program object, and Parameter 1 represents the new value used (Gl_texture1) gluniform1i (_textureslot, 1);Draws a texture in the specified area.Note: The coordinate representation used to represent the texture range differs from the Uikit and OpenGL coordinates, ranging from (0,0) left down to (top) right.Texture Usage Range vertexConst Glfloat texco
OpenGl basics 2. opengl
Basic graphic rendering process
1. create GLSurfaceView 2. initialize Renderer 3. onSurfaceCreated (), onSurfaceChanged (), onDrawFrame () Three Methods 4. coloring tool (vertex coloring tool, chip coloring tool) 5. vertex color texture 6. draw
Projection
OpenGL only provides two projection methods:
One is normal Projection, and the other
Http://developer.3dlabs.com/downloads/shadergen/
3dlabs 'shadergen is a tool that automatically generates OpenGL shading language shaders that duplicate fixed function OpenGL behavior. the new V3.0 generates thousands of additional shaders with support for separate specular lighting, multiple texture objects, multiple texture coordinate sets and the texture combine environment mode. the purpose of shader
OpenGL is an open system independent of any window system or operating system. Although it contains many graphical functions, it does not have window functions or functions that read events from the keyboard or mouse. Therefore, it is quite difficult for beginners to write a complete graphic program. In addition, OpenGL graphic functions only provide the basic ry: points, lines, and polygon. Therefore, it i
It is a modeling language rather than a programming language. Compared with many programming languages, its biggest feature is parallelism. That is, in fact, it not only describes serial operations, but also describes parallel operations. If you understand the parallel design principles of the OpenGL, the designed system is not only well-defined, but also easy to understand and maintain.
For example, for the streaming lamp of programming entry, assumi
//Then delete the previous starting point void MoveTo (point p) {if (This->status = = This->line_start) {points.pop_back (); return;} Points.push_back (p); this->status = This->line_start;} Draw the end point of the line, if it starts at the end point. Forbid join void LineTo (point p) {if (This->status = = This->line_start) {this->points.push_back (P);this-> status = This->line_end;return;}} Join the node array void addpoints (point* p,int size) {for (int i = 0; i Here is an example of a pentag
(point p) {if (This->status = = This->line_ START) {points.pop_back (); return;} Points.push_back (p); this->status = This->line_start;} Draw line termination point, forbid add void LineTo (point p) {if (This->status = = This->line_start) {This->points.push_ If first is the terminating point) Back (p); this->status = This->line_end;return;}} Add a node array void addpoints (point* p,int size) {for (int i = 0; i Here is an example of a pentagram:(Inside the window and application, point class in
This article is the second part of the two sections, discussing the obstacles to porting OpenGL games to Google Android. Before you start a game implant project (including differences in OpenGL extensions, floating point support, texture compression formats, and the GLU Library), you should recognize these obstacles. It also describes how to use OpenGL ES to set
OpenGL is a graphics library based on customer/server and pipeline. That is, an applicationProgram(Customer) writes various commands and data to the pipeline. This command and data will be temporarily saved, and the graphics library (server) will not start to process them until it receives a special command, and send the processing result to the user through a pipeline.Therefore, the basic structure of the OpenGL
There are three kinds of entities in OpenGL: dots, lines, triangles.
For Lines, OpenGL provides us with three ways to draw lines:
① Draw Segment (lines): The so-called line segment is not connected to some of the set of lines.
② Draw Line (Line_strip): A line that is connected but not closed.
③ Draw line Ring (Line_loop): The end-connected and closed line.
The first step is to implement the line segme
The openGL roaming function is simple, and the opengl roaming function
Recently, when I got the openGL roaming function, I found a lot of source code on the Internet and did not achieve the expected results. Then I wrote an algorithm and shared it.
The up and down keys realize shift, and the left and right keys rotate.
Algorithm idea: the prototype of the observa
If we need to draw two (or more) of the same cube (or objects), just position, scale, rotation is not the same, then we can not need to the object's vertex information, color information, and so on to the video card, but sent once, drawn multiple times, just before each drawing to apply a different transformation matrix. This method is called OpenGL instancing. It is much more efficient than sending the data back to the video card every time.Look at t
OpenGL draws game role shadow and opengl draws game roles
In game development, many Q-version games simply draw a translucent elliptical shadow, such:
The advantage of this method is that the implementation is simple, but the performance is obviously not true. As a Q-version style, it is acceptable for gamers. For real-time writing games, they mostly use images provided by art as shadow layers. This sol
OpenGL Road (9) color mixing to achieve transparent effect, opengl road color mixing
Use alpha hybrid to achieve transparent effects and penetrate 3d objects
The source code is as follows:
# Include
Image used:
Effect preview:
How does OpenGL implement gradient transparency?
You can change the transparency based on the UV coordinates. can you achieve a gra
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.