Convert Doxygen code sections to Markdown

This commit is contained in:
Camilla Löwy
2024-02-13 20:57:45 +01:00
parent 611099f745
commit 1a0bae7fa8
11 changed files with 506 additions and 506 deletions
+26 -26
View File
@@ -45,9 +45,9 @@ When creating a window and its OpenGL or OpenGL ES context with @ref
glfwCreateWindow, you can specify another window whose context the new one
should share its objects (textures, vertex and element buffers, etc.) with.
@code{.c}
```c
GLFWwindow* second_window = glfwCreateWindow(640, 480, "Second Window", NULL, first_window);
@endcode
```
Object sharing is implemented by the operating system and graphics driver. On
platforms where it is possible to choose which types of objects are shared, GLFW
@@ -68,11 +68,11 @@ GLFW doesn't support creating contexts without an associated window. However,
contexts with hidden windows can be created with the
[GLFW_VISIBLE](@ref GLFW_VISIBLE_hint) window hint.
@code{.c}
```c
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
GLFWwindow* offscreen_context = glfwCreateWindow(640, 480, "", NULL, NULL);
@endcode
```
The window never needs to be shown and its context can be used as a plain
offscreen context. Depending on the window manager, the size of a hidden
@@ -103,15 +103,15 @@ thread before making it current on the new one.
The context of a window is made current with @ref glfwMakeContextCurrent.
@code{.c}
```c
glfwMakeContextCurrent(window);
@endcode
```
The window of the current context is returned by @ref glfwGetCurrentContext.
@code{.c}
```c
GLFWwindow* window = glfwGetCurrentContext();
@endcode
```
The following GLFW functions require a context to be current. Calling any these
functions without a current context will generate a @ref GLFW_NO_CURRENT_CONTEXT
@@ -167,9 +167,9 @@ both GLFW and glad, but loaders for OpenGL ES, as well as loaders for specific
API versions and extension sets can be generated. The generated files are
written to the `output` directory.
@code{.sh}
```sh
python main.py --generator c --no-loader --out-path output
@endcode
```
The `--no-loader` option is added because GLFW already provides a function for
loading OpenGL and OpenGL ES function pointers, one that automatically uses the
@@ -183,14 +183,14 @@ include the glad header file, which will replace the OpenGL header of your
development environment. By including the glad header before the GLFW header,
it suppresses the development environment's OpenGL or OpenGL ES header.
@code{.c}
```c
#include <glad/glad.h>
#include <GLFW/glfw3.h>
@endcode
```
Finally, you need to initialize glad once you have a suitable current context.
@code{.c}
```c
window = glfwCreateWindow(640, 480, "My Window", NULL, NULL);
if (!window)
{
@@ -200,7 +200,7 @@ if (!window)
glfwMakeContextCurrent(window);
gladLoadGLLoader((GLADloadproc) glfwGetProcAddress);
@endcode
```
Once glad has been loaded, you have access to all OpenGL core and extension
functions supported by both the context you created and the glad loader you
@@ -213,22 +213,22 @@ check the actual OpenGL or OpenGL ES version with
a specific version is supported by the current context with the
`GLAD_GL_VERSION_x_x` booleans.
@code{.c}
```c
if (GLAD_GL_VERSION_3_2)
{
// Call OpenGL 3.2+ specific code
}
@endcode
```
To check whether a specific extension is supported, use the `GLAD_GL_xxx`
booleans.
@code{.c}
```c
if (GLAD_GL_ARB_gl_spirv)
{
// Use GL_ARB_gl_spirv
}
@endcode
```
### Loading extensions manually {#context_glext_manual}
@@ -265,10 +265,10 @@ to function) and `PROC` (procedure) are added to the ends.
To include the extension header, define @ref GLFW_INCLUDE_GLEXT before including
the GLFW header.
@code{.c}
```c
#define GLFW_INCLUDE_GLEXT
#include <GLFW/glfw3.h>
@endcode
```
#### Checking for extensions {#context_glext_string}
@@ -278,12 +278,12 @@ drivers or a graphics card that lacks the necessary hardware features), so it
is necessary to check at run-time whether the context supports the extension.
This is done with @ref glfwExtensionSupported.
@code{.c}
```c
if (glfwExtensionSupported("GL_ARB_gl_spirv"))
{
// The extension is supported by the current context
}
@endcode
```
The argument is a null terminated ASCII string with the extension name. If the
extension is supported, @ref glfwExtensionSupported returns `GLFW_TRUE`,
@@ -297,9 +297,9 @@ These functions often do not have entry points in the client API libraries of
your operating system, making it necessary to fetch them at run time. You can
retrieve pointers to these functions with @ref glfwGetProcAddress.
@code{.c}
```c
PFNGLSPECIALIZESHADERARBPROC pfnSpecializeShaderARB = glfwGetProcAddress("glSpecializeShaderARB");
@endcode
```
In general, you should avoid giving the function pointer variables the (exact)
same name as the function, as this may confuse your linker. Instead, you can
@@ -308,7 +308,7 @@ use a different prefix, like above, or some other naming scheme.
Now that all the pieces have been introduced, here is what they might look like
when used together.
@code{.c}
```c
#define GLFW_INCLUDE_GLEXT
#include <GLFW/glfw3.h>
@@ -336,5 +336,5 @@ void some_function(void)
glSpecializeShaderARB(...);
}
}
@endcode
```