<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>EGL Reference Pages</title>
        <link rel="stylesheet" href="khronos-man.css"/>
    </head>
    <body>
        <div class="refentry" id="start">
            <div class="titlepage"/>
            <div class="refnamediv">
                <h1>EGL Reference Pages</h1>
                <p/>
            </div>
            <div class="refsect1" id="description">
                <p>
                    <img src="EGL_300.png" alt=""
                        hspace="40" vspace="40" border="0" align="right"
                        xmlns="http://www.w3.org/1999/xhtml" />
                </p>
                <p> EGL&trade; is an interface between Khronos rendering
                    APIs such as OpenGL ES or OpenVG and the underlying
                    native platform window system. It handles graphics
                    context management, surface/buffer binding, and
                    rendering synchronization and enables high-performance,
                    accelerated, mixed-mode 2D and 3D rendering using other
                    Khronos APIs. </p>
                <p> The reference pages describe EGL 1.5, but can be used
                    with earlier versions since each page notes when
                    features are available only starting with specific older
                    versions (1.2, 1.3, and 1.4). </p>
                <p> A more detailed overview of EGL functionality and
                    technical concepts can be found in the <a
                    target="pagedisplay" href="eglIntro.html">eglIntro</a>
                    page. </p>
            </div>
            <div class="refsect1" id="description">
                <h2>Browser Compatibility</h2>
                <p> The reference pages are now generated in HTML5 format.
                    Some pages contain imbedded MathML and rely on <a
                    href="http://www.mathjax.org/">MathJax</a> to render
                    mathematical equations on browsers which do not natively
                    support MathML. This should work much better on Chrome,
                    Safari, and other browsers which don't support MathML.
                    </p>
                <p> However, HTML5 isn't well supported on IE 8 or earlier
                    versions. We recommend you use a more recent browser for
                    viewing the reference pages. </p>
            </div>
            <div class="refsect1" id="description">
                <h2>Downloading Reference Page Sources</h2>
                <p> The Docbook source for the reference pages is available
                    in the <a
                    href="https://github.com/KhronosGroup/EGL-Registry/">
                    KhronosGroup/EGL-Registry</a> GitHub repository. You can
                    build a ref page distribution of your own using open
                    source tools. See the <a
                    href="https://github.com/KhronosGroup/OpenGL-Refpages/blob/master/README.adoc">
                    OpenGL refpage README</a> for more information on needed
                    tools. </p>
            </div>
            <div class="refsect1" id="description">
                <h2>Feedback</h2>
                <p> If you find errors in or problems with the reference
                    pages, please file a GitHub issue in the <a
                    href="https://github.com/KhronosGroup/EGL-Registry/">
                    KhronosGroup/EGL-Registry</a> GitHub repository. If you
                    have a fix available, please propose a pull request in
                    the same repository. </p>
            </div>
            <div class="refsect3">
                <img src="KhronosLogo.jpg"/>
                <p>
                    Copyright &#169; 2003-2018 The Khronos Group Inc.
                    Permission is hereby granted, free of charge, to any person obtaining a
                    copy of this software and/or associated documentation files (the
                    "Materials"), to deal in the Materials without restriction, including
                    without limitation the rights to use, copy, modify, merge, publish,
                    distribute, sublicense, and/or sell copies of the Materials, and to
                    permit persons to whom the Materials are furnished to do so, subject to
                    the condition that this copyright notice and permission notice shall be included
                    in all copies or substantial portions of the Materials.
                </p>
            </div>
        </div>
    </body>
</html>
