Saturday, February 27, 2021

Best resource to learn C language

Best resource to learn C language

  1. https://www.slant.co/topics/1026/~best-resources-to-learn-c-cWhat are the best resources to learn C/C++?
  2. This is a paragraph.

  3. tutorials for OpenGL 3.3 and later !
  4. This site is dedicated to tutorials for OpenGL 3.3 and later !

    Full source code is available here.

    Feel free to contact us for any question, remark, bug report, or other : contact@opengl-tutorial.org, but don’t forget to read the FAQ first !

    Contributions are welcome, especially for the translations !

    If you enjoy our work, please don’t hesitate to spread the word !

  5. The Modern OpenGL Meta-Tutorial
  6. The release of OpenGL 3.x/4.x declared much of the functionality deprecated or removed. This has left a lot of people are wanting to know how to learn modern OpenGL coding practices. Other people will have learned OpenGL in the past and now want to get back into it only to find a totally new landscape. And quite a few people are still learning the out of date methods and need to be redirected to the new stuff way.

    This page isn't a tutorial itself. It's designed to give you the overall layout for learning OpenGL. Rather than walk you through some specific examples it will give you a description of what something is an why you need it then point you at various other tutorials around. This lets you shop around for the best tutorial or mix and match them.

  7. GLSL Core Tutorial
  8. The updated version of GLSL tutorial. Only the core version will be dealt in this tutorial.

  9. Welcome to OpenGL
  10. Welcome to the online book for learning OpenGL! Whether you are trying to learn OpenGL for academic purposes, to pursue a career or simply looking for a hobby, this book will teach you the basics, the intermediate, and all the advanced knowledge using modern (core-profile) OpenGL. The aim of LearnOpenGL is to show you all there is to modern OpenGL in an easy-to-understand fashion with clear examples, while also providing a useful reference for later studies.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

Wednesday, February 24, 2021

Error E0513 a value of type "HGDIOBJ" cannot be assigned to an entity of type "HBRUSH"

Error E0513 a value of type "HGDIOBJ" cannot be assigned to an entity of type "HBRUSH"

  1. Color window in hbrBackground
  2. static_cast <HBRUSH > doesn't work as HBRUSH is defined as typedef HBRUSH__ *HBRUSH and so requires a reinterpret_cast

  3. Conversion from HGDIOBJ to HBRUSH
  4. (This question is asked in the context of Win32API using the g++ compiler). I have a trouble with understanding why the following line of code won't work

    wndclass.hbrBackground = GetStockObject(WHITE_BRUSH);

    wndclass is an instance of the WNDCLASSEX structure, and the Windows API clearly specifies that the type of its member hbrBackground is HBRUSH. Further, HBRUSH is just a typedef for a HANDLE, which in turn is a typedef for void*. Hence, HBRUSH should be of type void*. Now, the GetStockObject function's return type is HGDIOBJ, which is also typedefed as a HANDLE, hence a void*.

    A Solution: pBrush = static_cast < HBrushGDI* >GetStockObject(WHITE_BRUSH);

  5. Window Programming
  6. a pdf book.

  7. Windows graphics device interface and Windows drawing
  8. Windows graphics device interface and Windows drawing

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

Tuesday, February 23, 2021

Trend calculation

Trend calculation

  1. Simple trend calculation
  2. Simple linear trend calculation with different types for X values implemented in C#, VB, and F#.

  3. This is a paragraph.

  4. This is a paragraph.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

PIXELFORMATDESCRIPTOR: key data structure in Microsoft OpenGL rendering

PIXELFORMATDESCRIPTOR: key data structure in Microsoft OpenGL rendering

keyword: pixelformatdescriptor example

    critical demo

  1. WGL and the Wiggle Functions in C++
  2. The simple fact that OpenGL is only a graphics API means that any user interaction, or things like screen and window issues needs to be handled by the operating system. Most operating systems come with a set of extensions that tie OpenGL together with user interaction and window management. This tends to make our lives a little bit easier, but only if we know how to take advantage of this option. In Windows this set of functions are called the wiggle functions. Each of these functions is prefixed with wgl.

  3. Programming OpenGL with MFC
  4. very good class note .

  5. An example of an OpenGL animation loop using the Win32 API.
  6. An example of an OpenGL animation loop using the Win32 API. Also demonstrates palette management for RGB and color index modes and general strategies for message handling.

  7. 01.) Creating OpenGL 3.3 Window
  8. Welcome to OpenGL 3.3+ tutorials series. In this series, you will learn how to use OpenGL the new way. This way is little bit more difficult than the way before, now OpenGL relies on you to do many things. But don't get scared, these tutorials will explain stuff slowly and step-by-step you will build a good basis to think the new way.

  9. OpenGL 3
  10. This series covers step-by-step learning of OpenGL 3.3 and later. As you may know, in OpenGL 3.0, most of old stuff has been deprecated (the fixed pipeline), including the easy-to-use rendering using glBegin() / glEnd() functions and in OpenGL 3.2 removed from core profile. Programming the new way may be more difficult than old way, but the results are worth learning it, trust me. These tutorials are also forward-compatible with later versions of OpenGL.

  11. OpenGL 4
  12. Do you want to learn modern OpenGL from the scratch and you have no idea where to start? Then you're in the right place !

    This series covers step-by-step learning of OpenGL 4 and later. There is no deprecated OpenGL stuff involved and the minimum OpenGL context used in the tutorials is 4.4.

    As a fundamental library to handle basic stuff like windows creation, I decided to stick with GLFW Library, seems to be most widely used and is properly maintained.

    All the tutorials in this series are hosted in their own repository on GitHub, so simply clone this repository and open for example Visual Studio Solution packed within and build them right away :

    https://github.com/michalbb1/opengl4-tutorials-mbsoftworks

  13. Megabyte Softworks
  14. Hello fellow readers, I made some updates to the code base of the OpenGL4 tutorials lately. Most importantly, I have finally updated the solution to the Visual Studio 2019 and also made several changes in the whole code, that should lead to better code quality . Be sure to check it in my OpenGL4 tutorials GitHub repository:

    Megabyte Softworks OpenGL4 Tutorials GitHub Repository

    Documents

  15. Using OpenGL on Windows: A Simple Example
  16. Using OpenGL on Windows: A Simple Example Any OpenGL program for Windows has to take care of some window-dependent setup. There are several ways this setup can be done, for example, using the GLUT library or using GDI and WGL directly. This guide focuses on using the Windows OpenGL API directly.

  17. Introduction to OpenGL on Windows
  18. The technical articles OpenGL I: QuickStart and Introducing the OpenGL Interface (both available online from Microsoft) explain in some detail how an OpenGL program fits inside a Windows environment. (See "Background Reading" for bibliographical information.) This chapter provides only minimal introductory information. Figure 1-1 illustrates the relation between OpenGL and GDI, the Windows graphics interface. The rest of the section first provides an Architectural Overview of Windows and OpenGL, then briefly defines OpenGL and Windows Terminology used in the rest of this document.

  19. Full Table of Contents
  20. it contains all techniques I need in WGL. Appendix is really good resource to test it.

  21. Appendix A: Code Example for Index Texture Extension
  22. test texture in Win32 app.

  23. Open GL Super Bible
  24. Welcome to OpenGL SuperBible! The first time I ever heard of OpenGL was at the 1992 Win32 Developers Conference in San Francisco. Windows NT 3.1 was in early beta (or late alpha) and many vendors were present, pledging their future support for this exciting new platform. Among them was a company called Silicon Graphics, Inc. (SGI). They were showing off their graphics workstations and playing video demos of special effects from some popular movies. NT was running on MIPS processors—now owned by SGI—but their primary purpose in this booth was to promote a new 3D graphics standard called OpenGL. It was based on SGI’s proprietary IRIS GL and was fresh out of the box as a graphics standard. Significantly, Microsoft was pledging future support for OpenGL in Windows NT.

  25. Pixel Formats
  26. Drawing in a window with OpenGL also requires that you select a pixel format. Like the rendering context, the pixel format is not really a part of OpenGL per se. It is an extension to the Win32 API (specifically, to the GDI) to support OpenGL functionality. The pixel format sets a device context’s OpenGL properties, such as color and buffer depth, and whether the window is double-buffered. You must set the pixel format for a device context before it can be used to create a rendering context. Here are the two functions you will need to use:.

  27. PIXELFORMATDESCRIPTOR structure (wingdi.h)
  28. The PIXELFORMATDESCRIPTOR structure describes the pixel format of a drawing surface.

  29. Creating an OpenGL Context (WGL)
  30. OpenGL Context Creation is the part of initialization that creates a fully realized OpenGL implementation. You need to go through this process to use OpenGL

  31. Tutorial: OpenGL 3.1 The First Triangle (C++/Win)
  32. This is just a short tutorial about drawing primitives in OpenGL 3.x without using deprecated functionality. The code uses Visual Studio and a link to download a freeGLUT version is available.

  33. nickrolfe/windows_modern_opengl_context.c
  34. Sample code showing how to create a window using a modern OpenGL core profile context without any libraries other than the standard Win32 wglXXX calls.

  35. Course 24: OpenGL and Window System Integration
  36. Pixel Formats & Palettes Pixel formats specify the properties of OpenGL contexts. Pixel formats in conjunction with palettes are the gateway through which an appropriate context for an application is created. Their use is described below.

  37. OpenGL 4.x Initialization in Windows without a Framework
  38. If you want to open an OpenGL window, most of tutorials and books will tell you to use GLFW, FreeGLUT or SDL framework. Just call glfwInit(), glfwCreateWindow() and you are done. However, if you need to write a size-limited executable or simply don’t want to create another dependency, you have to take care of this by yourself. This is how to do it “the hard way”.

    Normally, as with most of the libraries, you would #include , add opengl32.lib to linker dependencies and just use all the features of the modern OpenGL in your program, maybe with some kind of additional glInit() call. Well, let me tell you something my friend: “One does not simply initialize OpenGL”.

  39. OpenGL Drawing Example
  40. Using OpenGL on Windows: A Simple Example
  41. the same book as RIT website.

  42. Introduction to OpenGL 4.1 - Tutorial 05
  43. Debug output GL_ARB_debug_output allows the GL to notify applications when various events occur that may be useful during application development and debugging. These events are represented in the form of enumerable messages with a human-readable string representation.

  44. This is a paragraph.

  45. OpenGL Distilled
  46. OpenGL Distilled ISBN: 0321336798 EAN: 2147483647Year: 2007 Pages: 123Authors: Paul Martz

  47. Section 8.4. Microsoft Windows
  48. Microsoft Windows uses an interface called WGL to provide OpenGL support in Windows. The WGL functions connect OpenGL to the Microsoft Windows windowing system.

    WGL doesn't have a formal specification. Although the Microsoft Developer Network (http://msdn.microsoft.com) has some documentation, many WGL developers obtain information from WGL extension specifications at the OpenGL Extension Registry (http://oss.sgi.com/projects/ogl-sample/registry/). Because the WGL interface is very similar to GLX, you can also refer to the GLX specification and reinterpret it as though it were referring to WGL. Finally, OpenGL vendors typically provide additional documentation to describe their Microsoft Windows implementations. Check with your OpenGL vendor for more information.

    Microsoft Windows supports rendering OpenGL to onscreen windows (as created with the Win32 CreateWindow() function) and to DIBs resident in system memory. Many OpenGL hardware vendors support pbuffers through an extension to WGL called WGL_ARB_pbuffer. This section discusses only rendering to a window.

  49. SetPixelFormat fail when using WGL_SAMPLE_BUFFERS_ARB / WGL_SAMPLES_ARB
  50. I decided to add MSAA support into my application and therefor I checked what's up to do. The examples I found always refer to WGL_SAMPLE_BUFFERS_ARB / WGL_SAMPLES_ARB in the pixelformatdescriptor to do that. I am using glew right now:

  51. Getting a window's pixel format
  52. I have created an OpenGL application running on Windows. Is there any way I can query information about the pixel format of my current rendering window? (the window was created using the GLFW library)

  53. GetPixelFormat function (wingdi.h)
  54. The GetPixelFormat function obtains the index of the currently selected pixel format of the specified device context.

  55. greensquare.cpp is an open-source example
  56. greensquare.cpp is an open-source example //screensaver by Rachel Grey, lemming@alum.mit.edu.

  57. Setting up OpenGL in C++Builder
  58. Abstract: This article by JT is a quick introduction to setting up OpenGL drawing on a TForm's TCanvas

  59. Warning: That file was not part of the compilation database. It may have many parsing errors.
  60. Warning: That file was not part of the compilation database. It may have many parsing errors.

  61. Copyright (c) Nate Robins, 1997.
  62. Copyright (c) Nate Robins, 1997..

  63. Tutorial 14: Win32 Window
  64. This is a paragraph.This example only runs under MS Windows and demonstrates that Irrlicht can render inside a win32 window. MFC and .NET Windows.Forms windows are possible, too.

    In the beginning, we create a windows window using the windows API. I'm not going to explain this code, because it is windows specific. See the MSDN or a windows book for details.

  65. Win32 API Tutorials
  66. Before diving into the first tutorial the following might help explain why we prefer to create our Windows applications using the Win32 API.

    Through writing an application using straight Win32 you will gain a better understanding of how the API works, reduce bloat and have more control over the appearance and behavior of your applications. You will be interacting with the windows operating system at the lowest level possible and gain access to features not available when using Microsoft Foundation Classes (MFC) or a visual compiler.

    To give an example I would like you to think back to when you last saw a multicolored window, one that didn't use the current theme colors. Most likely you have rarely seen one; the reason for this is that there are no simple functions to set the colors of a window or its controls. This is a blatant attempt by Microsoft to make all applications conform to a standard appearance. By failing to provide an easy way to set the colors of a window and its controls Microsoft can be somewhat assured that few anarchistic looking applications will be produced. To overcome this limitation and many others we will need to know the Win32 API in depth; then we can create a better way to design and manage our windows through the use of owner-drawn controls and object orientated programming, which are covered later in the tutorials.

    In this series of tutorials I will start by showing you how to create a standard single window application and progress through to encapsulating the main window and other controls in C++ classes.

  67. OpenGL Part 10- Anti-Aliasing
  68. This is a paragraph.

  69. OpenGL context creation never chooses pixel format
  70. This is a paragraph.

  71. This is a paragraph.

Saturday, February 20, 2021

Windows Extension to OPENGL by Microsoft

Windows Extension to OPENGL by Microsoft

    Misc. configuration of Visual Studio

  1. OpenGL Development on Windows XP Microsoft Visual Studio 2008
  2. Needed an OpenGL development environment for my Computer Graphics class. These are my notes on how to prepare a clean install of Windows XP for doing OpenGL development using Microsoft Visual Studio Express C++ Edition..

    A Good Demo

  3. OpenGL Triangle Basics
  4. A little dialog example showing you the basic movements of an OpenGL triangle.

    Online Document

  5. The Official Guide to Learning OpenGL, Version 1.1
  6. online version of the book "The Official Guide to Learning OpenGL, Version 1.1". .

  7. Appendix C WGL: OpenGL Extension for Microsoft Windows NT and Windows 95
  8. For Win32/WGL, the PIXELFORMATDESCRIPTOR is the key data structure to maintain pixel format information about the OpenGL window. A variable of data type PIXELFORMATDESCRIPTOR keeps track of pixel information, including pixel type (RGBA or color index), single- or double- buffering, resolution of colors, and presence of depth, stencil, and accumulation buffers.

  9. wingdi.h header
  10. This header is used by Data Exchange. For more information, see:

  11. wglRealizeLayerPalette function (wingdi.h)
  12. The wglRealizeLayerPalette function maps palette entries from a given color-index layer plane into the physical palette or initializes the palette of an RGBA layer plane.

  13. The OpenGL Extension Wrangler Library
  14. This is a paragraph.

  15. The OpenGL Extension Wrangler Library
  16. The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW has been tested on a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

  26. This is a paragraph.

MY FOCUS: OpenGL demo projects

MY FOCUS: OpenGL demo projects. make sure each project demo working.

  1. Simple OpenGL Test Framework
  2. This is a paragraph.

  3. COLLADA, TinyXML, and OpenGL
  4. Accessing digital assets in C++ for three-dimensional rendering.

  5. ColladaLoader
  6. This project is about an open source application to load and visualize COLLADA files in real time using OpenGL.

  7. Step by Step Skeletal Animation in C++ and OpenGL, Using COLLADA
  8. ntroduction: Hi I am waZim and welcome to my first tutorial(s) on Skeletal Animation. This series of tutorials consists of two parts.

    1. Reading and Understanding COLLADA. (high level overview of COLLADA documents)
    2. Actual Implementations in C++ using OpenGL, of what we learn in Part 1.

  9. COLLADA Overview
  10. 3D Asset Exchange Schema COLLADA™ defines an XML-based schema to make it easy to transport 3D assets between applications - enabling diverse 3D authoring and content processing tools to be combined into a production pipeline. The intermediate language provides comprehensive encoding of visual scenes including: geometry, shaders and effects, physics, animation, kinematics, and even multiple version representations of the same asset.COLLADA FX enables leading 3D authoring tools to work effectively together to create shader and effects applications and assets to be authored and packaged using OpenGL® Shading Language, Cg, CgFX, and DirectX® FX.

  11. OpenCOLLADA techniques
  12. COLLADAStreamWriter The Library

  13. Why glTF 2.0 is awesome!
  14. There’s one single thing that I find truly frustrating when dealing with multiple 3D-related software : making them exchange 3D assets.

  15. OpenGL MFC/CDialog - Basic
  16. Working example: OpenGL CDialog Multiple Context

  17. Nimbus SDK: A Tiny Framework for C++ Real-Time Volumetric Cloud Rendering, Animation and Morphing
  18. A reusable Visual C++ framework for real-time volumetric cloud rendering, animation and morphing.

    Real-time volumetric cloud rendering is an attractive feature for multimedia applications such as computer games and outdoor scenarios. Achieving realistic results requires cutting-edge software and massive multi-core graphics hardware that is used in the animation industry but it is expensive and often, not real-time. This article proposes a new approach making an efficient implementation for real-time volumetric cloud rendering by abstracting the core of mathematics and physical complexity of atmospheric models and taking advantage of CPU/GPU enhanced parallel programming paradigms.

  19. High-Performance Algorithms for Real-Time GPGPU Volumetric Cloud Rendering from an Enhanced Physical-Math Abstraction Approach
  20. The aim of this thesis is performing a basic framework for real-time volumetric cloud rendering with an optimum balance between realism and performance to be applied in the entry-level graphics industry. The main features that have been achieved are the following:

  21. A Customizable Architecture for 3D Graphics Applications
  22. Explanation of a consistent 3D graphics software architecture through a basic OpenGL application

  23. glGenerateMipmap Plus SOIL library, OpenGL
  24. glGenerateMipmap Plus SOIL library

  25. This is a paragraph.

  26. This is a paragraph.

  27. This is a paragraph.

  28. This is a paragraph.

  29. This is a paragraph.

  30. This is a paragraph.

  31. This is a paragraph.

  32. This is a paragraph.

OSGViewer in MFC/SDI app

OSGViewer in MFC/SDI app

  1. How to add a child window in a MFC SDI application that can have a osgviewer
  2. I am developing an MFC SDI application. The main view has three Edit boxes for user input for x, y and radius. The application is supposed to get these data and draw a Sphere in OSG viewer. As OSG Viewer grabs full window, I am planning to add a child window that can have OSG viewer. Please advise. How to add a child window in a MFC SDI application that can have a osgviewer?

    Is there any better approach to solve this task other than adding a child window?

  3. The OpenSceneGraph Project Website
  4. The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL it runs on all Windows platforms, OSX, GNU/Linux, IRIX, Solaris, HP-Ux, AIX and FreeBSD operating systems. The OpenSceneGraph is now well established as the world leading scene graph technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual reality industries.

Error LNK2026: module unsafe for SAFESEH image.

error LNK2026: module unsafe for SAFESEH image.

  1. module unsafe for SAFESEH image C++
  2. I am using Microsoft Visual Studio 2011 Professional Beta I am trying to run the OpenCV C++ files (http://opencv.willowgarage.com/wiki/Welcome) that I have compiled using cMake & the Visual Studio Complier. However when I go to debug the project I get 600+ errors most of them being:

    error LNK2026: module unsafe for SAFESEH image.

    A Good Answer: This happens when you link an .obj or .lib that contains code created by an earlier version of the compiler. Which of course would be common if you downloaded a binary for opencv_ffmpeg instead of the source. You can turn the linker option off but then you'll still have a CRT version incompatibility that can byte. Rebuild the library from source. – Hans Passant May 15 '12 at 13:01

    An Answer: Disabling option "Image has Safe Exception Handlers" in Project properties -> Configuration Properties -> Linker -> Advanced tab helped me.

  3. /SAFESEH (Image has Safe Exception Handlers)
  4. When /SAFESEH is specified, the linker will only produce an image if it can also produce a table of the image's safe exception handlers. This table specifies for the operating system which exception handlers are valid for the image.

    /SAFESEH is only valid when linking for x86 targets. /SAFESEH is not supported for platforms that already have the exception handlers noted. For example, on x64 and ARM, all exception handlers are noted in the PDATA. ML64.exe has support for adding annotations that emit SEH information (XDATA and PDATA) into the image, allowing you to unwind through ml64 functions. See MASM for x64 (ml64.exe) for more information.

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

Error RC2104 undefined keyword or key name: WS_MINIMIZEBOX

Error RC2104 undefined keyword or key name: WS_MINIMIZEBOX openglstruct_driver C:\Demo_GLUT\openglstruct_driver\resbackup.rc 2

  1. Resource Compiler Error RC2104
  2. undefined keyword or key name: key

    The specified keyword or key name is not defined.

    This error is often caused by a typo in the resource definition, or in the included header file. It can also be caused by a missing header file.

    To fix the issue, locate the header file that should contain the defined keyword or key name and verify that it is included in your resource file, and that the keyword or key name is spelled correctly. If your project was created with a precompiled header, and you subsequently remove it, make sure that the resource file still includes any required headers.

    To verify the defined keywords and key names in your resource file, in Visual Studio, open the Resource View window—on the menu bar, choose View, Resource View—and then open the shortcut menu for the .rc file and choose Resource Symbols to view the list of defined symbols. To modify the included headers, open the shortcut menu for the .rc file and choose Resource Includes.

    A Solution: If you encounter this message:

    undefined keyword or key name: MFT_STRING

    please open \MCL\MFC\Include\AfxRes.h and add this include directive:

    #include < winresrc.h >

  3. error RC2104: undefined keyword or key name: DS_SETFONT
  4. A Question:I am starting to learn about the Windows API. So I opened up Microsoft Visual C++ and created a new project. I chose Win32 project and it started up. I then clicked build and run before typing anything and I came up with this error:

    error RC2104: undefined keyword or key name: DS_SETFONT....

    The error told me it was in the windows resource file that I cannot edit. I looked on-line and I couldn't find anything on this topic. How would I go about fixing this?

    A Solution: When the solution is generated, it removes #include < windows.h >. Simply adding #include < windows.h > will fix it. In my case, I added it in the *.rc file.

    Another Solution: It probably has something to do with your decision not to use precompiled headers. Normally, the RC file includes the pre-compiled header, named stdafx.h by default. That in turn includes < Windows.h >. If you've disabled pre-compiled headers and deleted stdafx.h, then you're not including the Windows headers in your resource file. However, I would advise against editing the RC file by hand--it's regenerated on demand by the designer.

Friday, February 19, 2021

OpenGL MFC continnued

OpenGL MFC continnued on cp.com

  1. OAG Library (OpenGL) Part 1 - Setting Up the Library for an MFC Application
  2. OAG is a library written in C++. With this library, you can create OpenGL based applications.

  3. OAG Library
  4. OAG Library that is used in the top article...

    OAG is open source library written in c++. With the library you can create OpenGL based applications, drawing Geometries 2D and 3D, Textures 2D and 3D, Text with True Type Fonts and you can save and open xml files.

  5. C++ OPENGL 3D FUNCTIONS program
  6. This is a C++ program which includes OpenGL library glut.h. By the program you are able to draw 6 different 3D functions. Program also has OpenGL functions that provides you to rotate the graphics.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

Wednesday, February 17, 2021

cyCodeRelease and some tools

very useful classes can be used in my application. Doxygen tool is precious...

  1. cyCode Release
  2. Here you can find light-weight code releases that contain C++ classes for computer graphics use. The code releases only include header files, so no pre-compilation is needed. They only use standard C++ libraries, so there are no external dependancies, unless otherwise noted.

    Instead of providing a complete library that includes all of these classes, I keep code releases separate for each component, so that you can just download the parts that you need. I believe this approach makes it easier for you to use them. I try to keep code releases as simple and as small as possible, therefore some of the code releases may need some previous code releases to compile. Please check the requirements list of the code release that you are interested in. If you have any problems with the code, documentation or usability, please let me know.

  3. doxygen
  4. C++ documentation tool.

  5. 10 Minutes to document your code
  6. Setting up doxygen, a free tool to document your code, in a few simple steps..

  7. Improved Method Documentation for Visual C++
  8. Customizable method documentation generator

  9. Unofficial OpenGL Software Development Kit
  10. The Unofficial OpenGL Software Development Kit is a collection of libraries and utilities that will help you get started working with OpenGL. It provides a unified, cross-platform build system to make compiling the disparate libraries easier.

    Many of the components of the SDK are C++ libraries.

    Each component of the SDK specifies the terms under which they are distributed. All licenses used by components are approximately like the MIT license in permissivity. The parts of the SDK responsible for maintaining the build, as well as all examples, are distributed under the MIT License..

  11. OpenGL Software Development Kit
  12. The Unofficial OpenGL SDK is a collection of utility libraries designed to make it easy to learn the exciting world of 3D programming with the OpenGL library. This project is not associated with The Khronos Group.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

GLEW tutorials

GLEW tutorials

  1. Using OpenGL on Windows
  2. The following topics explain how to use several features specific to Windows:

    • Header Files
    • Pixel Format Tasks
    • Rendering Context Tasks
    • Drawing with Double Buffers
    • Drawing Text in a Double-Buffered OpenGL Window
    • Printing an OpenGL Image
    • Copying an OpenGL Image to the Clipboard
    • Multithread OpenGL Drawing Strategies
    • Using the Auxiliary Library

  3. Header Files
  4. Applications that use:
    • The core OpenGL functions must include the header file < GL\gl.h > .
    • The OpenGL Utility library must include the header file < GL\glu.h >
    • The OpenGL Programming Guide auxiliary library must include the header file < GL\glaux.h >
    • The WGL functions must include the header file < windows.h >.
    • The Windows functions that support Microsoft's implementation of OpenGL in Windows must include the header file < Windows.h >
  5. WGL and Windows Reference
  6. The following are the functions:

  7. Reference for Windows Extensions to OpenGL
  8. The following sections contain listings of the functions and structures associated with WGL and Windows.

    1. WGL Functions
    2. Windows Functions
    3. Structures

  9. OpenGL in MFC
  10. tuan10clc :: Flag of Vietnam À Nng, Vietnam

  11. Getting started with OpenGL:: very good RIP tutorials
  12. OpenGL is an open standard for rendering 2D and 3D graphics leveraging graphics hardware. OpenGL has been implemented across a stunning array of platforms allowing apps targeting OpenGL to be extremely flexible.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

Monday, February 15, 2021

OpenGL MFC control

kyword: OpenGL MFC control

    Obtain this article

  1. Interactive control for viewing 3D objects based on MFC and OpenGL
  2. The construction of 3D objects and their viewing control are key problem during 3D visualization process. General procedures for developing application software based on MFC and OpenGL were proposed according to object-oriented programming methodology and thus a GLView class was derived from CView class. Spherical coordinates were adopted to characterize the observation point's position and the view direction. The transformation formula of twisting, translating, rotating and scaling were deduced according coordinate transform rule between global world coordinates and local view coordinates. An OOP algorithm was developed to finish these transformations by the response of a mouse or keyboard message, a dialog or a Timer. It was demonstrated by many cases that both the intuitive control and the quantitative control for viewing 3D objects have been provided conveniently

  3. 3D with C++
  4. 3D programming make use of three-dimensional representations of data for the purposes of performing calculations and rendering 2D images.

  5. MFC and Opengl
  6. On this page, I tackle the issue of integrating OpenGL within a windows environment using Microsoft Foundation Classes. MFC is a set of C++ classes that attempts to simplify the process of creating GUI applications for windows.

  7. OpenGL MFC/CDialog - Basic
  8. The basic idea is to get a simple window or two to draw simple graphics in a MFC/CDialog-style window. This is geared more towards beginners who, like myself, struggle to get something like this to work. A basic understanding of C++/OpenGL would be helpful. The code contains no colour mapping or shaders, just basic shape using vao/vbo.

  9. Intialization of OpenGL rendering context in MFC Application
  10. I have tabbed style MFC window created by the wizard VC2015 , I'm planning to use it to initilize the OPenGL rendering context and let rendering be in those child tabbed windows. I still have the difficulty with MFC architecture, so in which class or source file do I need to initialize/swap the handles of rendering context of OPenGL and windowed childs ? I tried to initialize that in ChildFrm.cpp OnCreate event, but nothing gets rendered correctly and from time to time it raises "Assertation fault".

    Based on that, I thought that ChildFrm.cpp is not right place to start, your guidance will be appreciated,

    need to look at all these great examples::

  11. Embed OpenGL to MFC
  12. bottom section listed many good links...

    My big job in computer graphics is to implement some functions based on the MFC framework using OpenGL. But I didn't know how to add OpenGL modules to MFC at first. So I found an article on the Internet for a long time and finally benefited from reading. Today I am going to translate this article.

  13. 001 Configure OpenGL under VS2015 MFC
  14. Recently I was watching "OpenGL SuperBiber". The sample code of this book is implemented by GLFW + OpenGL, and the window system uses GLFW. Although GLFW is an excellent window management system, since I am more familiar with MFC, I hope to port the code of this book to VS2015 MFC.

  15. MFC+OpenGL screen coordinates to OpenGL coordinates
  16. I recently wrote an example using OpenGL, the center point (0, 0) of OpenGL is just the center point of our screen. Because I need dynamic drawing (drawing points, lines, circles, arcs...) and need to pan and zoom the graphics, I am stuck on the problem of coordinate conversion.

  17. [OpenGL] Click the mouse to get the world coordinates
  18. Because I am doing graphics-related design recently, it takes time for the mouse to interactively acquire three-dimensional coordinates (world coordinate system). So I checked some blogs and materials on the Internet and put them in my own code. So he calmed himself down and studied hard.

  19. Generation of coordinates in openGL: glLoadIdentity and gluOrtho2D exercises
  20. Generation of coordinates in openGL: glLoadIdentity and gluOrtho2D exercises

  21. openGL vertex, coordinate system, texture coordinates
  22. Understanding the coordinate system is the basis for drawing graphics. In the scene using openGL, there are several kinds of world coordinates, local coordinates, texture coordinates, and screen coordinates.

  23. OpenGL coordinate system
  24. In order to transform the coordinates from one coordinate system to another, we need to use several transformation matrices

  25. Setting up OpenGL with Mfc
  26. good tutorials...

  27. good MFC OpenGL demo projects
  28. This is a paragraph.

  29. SteinSOFT.net OpenGL in a Mfc dialog
  30. Welcome to the second OpenGL tutorial on SteinSOFT.net! I've decided to write about this topic because I thought it would be rather interesting and I have seen many people wanting to do something like that. So what is it indeed? It's simply a little integrated window in a normal dialog in which some OpenGL shapes are drawn. On the one side you have OpenGL and on the other standard Windows controls. If you can't imagine how this could look like, take a look at my project OpenGLDialog.

  31. OpenGLDialog
  32. OpenGLDialog isn't a very cool application. It is simple and is only intented to show how to use an OpenGL window in a Mfc Dialog. Source code is of course included. Don't forget to check the tutorial in the tutorials section that has been written along this code.

  33. MFC Library: Drawing Spline application with OpenGL with sample Source Code
  34. MFC Library: Drawing Spline application with OpenGL with sample Source Code

  35. OpenGL Windows GUI Application
  36. This article is about a MVC (Model-View-Controller) framework to create OpenGL GUI applications on Windows platform. MVC architecture is a common design framework for GUI applications, and is used in many GUI libraries, such as .NET, MFC, Qt, JavaFX, etc. The major benefits of this MVC framework are the complete separation of system-independent OpenGL calls from Windows system and the universal message router for multiple windows.

  37. This is a paragraph.

  38. This is a paragraph.

Saturday, February 13, 2021

glaux.h file

glaux.h file

  1. Simple OpenGL Framework
  2. GLW is a simple, compact, drop-in framework for developing simple OpenGL games and demos. Its focus is ease of use, platform abstraction and small footprint.

  3. Older OpenGL and GLX Specifications and Reference Pages
  4. Older OpenGL and GLX Specifications and Reference Pages. OPENGL 4.5 and below...

  5. Khronos OpenGL® Registry
  6. The OpenGL Registry contains specifications of the core API and shading language; specifications of Khronos- and vendor-approved OpenGL extensions; header files corresponding to the specifications; and related documentation including specifications, extensions, and headers for the GLX, WGL, and GLU APIs.

    API and Extension Header Files Because extensions vary from platform to platform and driver to driver, OpenGL developers can't expect interfaces for all extensions to be defined in the standard gl.h, glx.h, and wgl.h header files supplied with the OS / graphics drivers. Additional header files are provided here, including:

    Almost all of the headers described below depend on a platform header file common to multiple Khronos APIs called .

    1. <GL/glext.h > - OpenGL 1.2 and above compatibility profile and extension interfaces.
    2. < GL/glcorearb.h > - OpenGL core profile and ARB extension interfaces, as described in appendix G.2 of the OpenGL 4.3 Specification. Does not include interfaces found only in the compatibility profile.
    3. < GL/glxext.h > - GLX 1.3 and above API and GLX extension interfaces.
    4. < GL/wglext.h > - WGL extension interfaces.
    The OpenGL registry is part of the Combined OpenGL Registry for OpenGL, OpenGL ES, and OpenGL SC, which includes the XML API registry of reserved enumerants and functions.

  7. Simple OpenGL Framework
  8. GLW is a simple, compact, drop-in framework for developing simple OpenGL games and demos. Its focus is ease of use, platform abstraction and small footprint.

  9. Loading, Compiling, Linking, and Using GLSL Programs
  10. This is a paragraph.

  11. Shader Compilation
  12. hader Compilation is the term used to describe the process by which OpenGL Shading Language scripts are loaded into OpenGL to be used as shaders. OpenGL has three ways to compile shader text into usable OpenGL objects. All of these forms of compilation produce a Program Object.

    Note: This article contains references to OpenGL 4.x features, such as tessellation shaders and Compute Shaders. If you are using OpenGL 3.x, you can ignore such references.

  13. DOWNLOAD GL\GLUT\GLAUX\GLUI .LIB, .H AND .DLL
  14. dit: With Visual Studio 2015 Community edition, you won’t really need those files. Check out OpenGL in Visual Studio 2015 to see how easy it is to work with OpenGL without having to deal with managing all these files (thanks to Nuget). I also have the files below more organized on GitHub.

    Looking for the lib, header, or dll files for OpenGL, GLUT, GLAUX or GLUI on Windows? I have collected them from different sources so they can be easily downloaded as a single package: http://cid-e38f9fc6490b29d9.skydrive.live.com/self.aspx/Public/GL%20Files.zip. It contains the following content:

  15. How to get the GL library/headers?
  16. A Question:
    1. #include < gl\gl.h >
    2. #include < gl\glu.h >
    3. #include < gl\glaux.h >
    This is an example, but where to get GL headers?

    On Windows you need to include the gl.h header for OpenGL 1.1 support and link against OpenGL32.lib. Both are a part of the Windows SDK. In addition, you might want the following headers which you can get from http://www.opengl.org/registry .
    1. < GL/glext.h > - OpenGL 1.2 and above compatibility profile and extension interfaces..
    2. < GL/glcorearb.h > - OpenGL core profile and ARB extension interfaces, as described in appendix G.2 of the OpenGL 4.3 Specification. Does not include interfaces found only in the compatibility profile.
    3. < GL/glxext.h > - GLX 1.3 and above API and GLX extension interfaces.
    4. < GL/wglext.h > - WGL extension interfaces.

    In Visual Studio :
      //OpenGL
    1. #pragma comment(lib, "opengl32")
    2. #pragma comment(lib, "glu32")
    3. #include < gl/gl.h >
    4. #include < gl/glu.h >
    Headers are in the SDK : C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl

    If you're on Windows, they are installed with the platform SDK (or Visual Studio). However the header files are only compatible with OpenGL 1.1. You need to create function pointers for new functionality it later versions. Can you please clarify what version of OpenGL you're trying to use.

  17. download khronos.org registry khronos_headers.zip
  18. this zip file contain all header files related with OpenGL

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

  23. This is a paragraph.

  24. This is a paragraph.

  25. This is a paragraph.

  26. This is a paragraph.

  27. This is a paragraph.

  28. This is a paragraph.

STL examples

STL examples

  1. std::find, std::find_if, std::find_if_not
  2. This is a paragraph.

  3. C++ Algorithm Library - find() Function
  4. The C++ STL Library section lists all functions avaiable...

    Description The C++ function std::algorithm::find() finds the first occurrence of the element. It uses operator = for comparison.

  5. auto (C++)
  6. Deduces the type of a declared variable from its initialization expression.

    The C++ standard defines an original and a revised meaning for this keyword. Before Visual Studio 2010, the auto keyword declares a variable in the automatic storage class; that is, a variable that has a local lifetime. Starting with Visual Studio 2010, the auto keyword declares a variable whose type is deduced from the initialization expression in its declaration. The /Zc:auto[-] compiler option controls the meaning of the auto keyword.

  7. Placeholder type specifiers (since C++11)
  8. For variables, specifies that the type of the variable that is being declared will be automatically deduced from its initializer.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

  21. This is a paragraph.

  22. This is a paragraph.

Friday, February 12, 2021

GLEW/GLFW/GLM library research

GLEW library research

    Great Tutorials on GLEW

  1. Tutorial: OpenGL 3.1 The First Triangle (C++/Win)
  2. This is just a short tutorial about drawing primitives in OpenGL 3.x without using deprecated functionality. The code uses Visual Studio and a link to download a freeGLUT version is available.

  3. Tutorial 1 : Opening a window
  4. CMAKE needs to install on your machine first...

    great tutorials and have source code files on github.

    Before jumping into OpenGL, you will first learn how to build the code that goes with each tutorial, how to run it, and most importantly, how to play with the code yourself.

  5. OPENGL References
  6. Edward Angel, "OpenGL - A Primer", 3rd eds, Pearson Education. A very "thin" book that gives a good introduction about OpenGL. The codes in C++ uses GLUT, which greatly simplifies interacting with the Windows OS.

  7. Programming OpenGL in C/C++ How To Setup and Get Started
  8. This is a paragraph.

  9. OpenGL Mathematics (GLM)
  10. OpenGL Mathematics (GLM) is a C++ mathematics library for 3D software based on the OpenGL Shading Language (GLSL) specification.

  11. g-truc/glm
  12. OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) specifications.

    GLM provides classes and functions designed and implemented with the same naming conventions and functionality than GLSL so that anyone who knows GLSL, can use GLM as well in C++.

  13. GLM
  14. GLM is the OpenGL Mathematics library, a C++ template library that implements numerous mathematical and geometrical operations useful for graphics programs.

    GLM is based on the OpenGL Shading Language (GLSL) specifications, and uses the same naming conventions.

  15. ogl/common/shader.hpp
  16. old CMake custom command which breaks Mac compilation

  17. OpenGL-tutorial/common/shader.hpp
  18. Wu Xiaoyong Import OpenGL-tutorial. .

  19. huamulan/OpenGL-tutorial
  20. source code for OPENGL tutorials.

    Misc.

  21. FreeType is a freely available software library to render fonts.
  22. FreeType is a freely available software library to render fonts. It is written in C, designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images) of most vector and bitmap font formats.

  23. ubawurinna / freetype-windows-binaries
  24. The freetype libraries use the Universal CRT and therefore requires Visual C++ 2015-2019 Redistributable to be present on system.

  25. freetype documentation
  26. It has good tutorial.

  27. ColladaDOM 3
  28. The COLLADA Document Object Model (COLLADA DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document. ColladaDOM 3 "rebrands" this label--stylizing it--in order to draw attention to the sharp contrast between it and previous versions of the library, starting with version 2.5.0.

  29. COLLADA Document Object Model (DOM)
  30. The COLLADA Document Object Model (DOM) is an application programming interface (API) that provides a C++ object representation of a COLLADA XML instance document. Contact a project admin to become a developer!

  31. Compiler/Linker options [message #20303]
  32. This is a paragraph.

  33. OpenGL MFC/CDialog - Basic
  34. Working example: OpenGL CDialog Multiple Context

  35. Simple OpenGL Test Framework
  36. A simple OpenGL framework for fast prototyping of OpenGL and game applications

  37. Robust MVC
  38. Robust MVC framework for desktop and web development

  39. A Customizable Architecture for 3D Graphics Applications
  40. Explanation of a consistent 3D graphics software architecture through a basic OpenGL application

Thursday, February 11, 2021

xcopy dont work: error MSB3073: :“VCEnd” exited with code 4 - Visual Studio Post-Build

Visual Studio Post-Build xcopy dont work: error MSB3073: :“VCEnd” exited with code 4

  1. Visual Studio Post-Build xcopy dont work: error MSB3073: :“VCEnd” exited with code 4
  2. A Question: I have following post build command:

    XCOPY "$(SolutionDir)*" "D:\VS\Win1\*" /EXCLUDE:"E:\exclude.txt" /Y /E /D

  3. VS 2012: Post Build xcopy error 2
  4. i want to make VS copy the .lib-file it created after the build process to a specific folder. So i went to the project config, post-build event, and entered the following command:

    if exist $(TargetPath)
    xcopy "$(TargetPath)" "C:\Users\Incubbus\Documents\Visual Studio 2010\My Libraries\z.lib" /Y

  5. BATCH file asks for file or folder [duplicate]
  6. This is a paragraph.

Error (active) E0167 argument of type "const char *" is incompatible with parameter of type "LPCWSTR"

Error (active) E0167 argument of type "const char *" is incompatible with parameter of type "LPCWSTR" Test04 C:\Demo_GLUT\Test04\Test04.cpp 464

  1. argument of type const char* is incompatible with parameter of type “LPCWSTR”
  2. I am trying to make a simple Message Box in C in Visual Studio 2012, but I am getting the following error messages

    argument of type const char* is incompatible with parameter of type "LPCWSTR"
    error LNK2019:unresolved external symbol_main referenced in function_tmainCRTStartup

    A Solution: Check your project's Character Set setting (Project Properties, Configuration Properties, General, Character Set). It's probably set to "Use Unicode" instead of "Use Multi-Byte".

    To make your code compile in both modes, enclose the strings in _T() and use the TCHAR equivalents
    #include < tchar.h >
    #include < windows.h >
    int WINAPI _tWinMain(HINSTANCE hinstance, HINSTANCE hPrevinstance, LPTSTR lpszCmdLine, int nCmdShow)
    {
    MessageBox(0,_T("Hello"),_T("Title"),0);
    return 0;
    }

    A Solution: I recently ran in to this issue and did some research and thought I would document some of what I found here.

    To start, when calling MessageBox(...), you are really just calling a macro (for backwards compatibility reasons) that is calling either MessageBoxA(...) for ANSI encoding or MessageBoxW(...) for Unicode encoding.

  3. ConstChar Error, Coding/Gaming
  4. ERROR 1 NAME : argument of type "WCHAR" is incompatible with parameter of type "const char*"

    ERROR 2 NAME : argument of type "const char*" is incompatible with parameter of type "LPCWSTR"

  5. This is a paragraph.

  6. This is a paragraph.

  7. This is a paragraph.

  8. This is a paragraph.

  9. This is a paragraph.

  10. This is a paragraph.

  11. This is a paragraph.

  12. This is a paragraph.

  13. This is a paragraph.

  14. This is a paragraph.

  15. This is a paragraph.

  16. This is a paragraph.

  17. This is a paragraph.

  18. This is a paragraph.

  19. This is a paragraph.

  20. This is a paragraph.

Tuesday, February 9, 2021

freeglut examples and useful tutorials

freeglut examples and useful tutorials: mouse input, keyboard input

    freeglut API

  1. freeglut (version 3.0.0) API list and dictionary
  2. The OpenGL programming world owes a tremendous debt to Mr. Mark J. Kilgard for writing the OpenGL Utility Toolkit, or GLUT. The GLUT library of functions allows an application programmer to create, control, and manipulate windows independent of what operating system the program is running on. By hiding the dependency on the operating system from the application programmer, he allowed people to write truly portable OpenGL applications.

    Mr. Kilgard copyrighted his library and gave it a rather unusual license. Under his license, people are allowed freely to copy and distribute the libraries and the source code, but they are not allowed to modify it. For a long time this did not matter because the GLUT library worked so well and because Mr. Kilgard was releasing updates on a regular basis. But with the passage of time, people started wanting some slightly different behaviours in their windowing system. When Mr. Kilgard stopped supporting the GLUT library in 1999, having moved on to bigger and better things, this started to become a problem.

    In December 1999, Mr. Pawel Olzsta started work on an open-source clone of the GLUT library. This open-source clone, which does not use any of the GLUT source code, has evolved into the present freeglut library. This documentation specifies the application program interface to the freeglut library.

    freeglut Great Tutorials

  3. GLUT tutorials
  4. This is a great tutorial and with more details

  5. CATEGORY ARCHIVES: OPENGL
  6. This is a paragraph.

  7. /OpenGL/GL Files/Win/
  8. Edit: With Visual Studio 2015 Community edition, you won’t really need those files. Check out OpenGL in Visual Studio 2015 to see how easy it is to work with OpenGL without having to deal with managing all these files (thanks to Nuget). I also have the files below more organized on GitHub.

    Looking for the lib, header, or dll files for OpenGL, GLUT, GLAUX or GLUI on Windows? I have collected them from different sources so they can be easily downloaded as a single package:

  9. CATEGORY ARCHIVES: OPENGL -page 2
  10. This is a paragraph.

  11. Blog/OpenGL/Geometric Primitives/
  12. Visual Studio 2015 Project for an interactive program that helps you learn OpenGL geometric primitives. Click on the image below too see a demo of this program on YouTube.

  13. OpenGL Geometric Primitives
  14. Learn OpenGL geometric primitives through this interactive program.

  15. GLUT Window Template
  16. This article describes in detail how to set up your first OpenGL FreeGLUT window and provides you with a template for your OpenGL applications

  17. GLUT Subwindow Template
  18. This article describes in detail how to set up your first OpenGL FreeGLUT window with multiple subwindows, and provides you with a template for your OpenGL applications.

  19. GLU
  20. This is a paragraph.

  21. 2 Getting Started
  22. 2.020 What OpenGL books are available? There are several books on OpenGL, but the two most revered are the "red" and "blue" books: OpenGL Programming Guide, Third Edition, Mason Woo et al. ISBN 0-201-60458-2 (aka the red book) OpenGL Reference Manual, Third Edition, Dave Shreiner (Editor), et al. ISBN 0-201-65765-1 (aka the blue book) The third edition of these books describes OpenGL 1.2. The original and second editions describe 1.0 and 1.1, respectively. The OpenGL Org web site has a link to an online version of the 1.1 Programming Guide. For the OpenGL Reference Manual, here are two sources: The OpenGL "Bluebook" HTML format The OpenGL "Bluebook" HTML format The OpenGL "Bluebook" HTML format

    2.060 What do I need to compile and run OpenGL programs? To compile and link OpenGL programs, you'll need OpenGL header files and libraries. To run OpenGL programs you may need shared or dynamically loaded OpenGL libraries, or a vendor-specific OpenGL Installable Client Driver (ICD) specific to your device. Also, you may need include files and libraries for the GLU and GLUT libraries. Where you get these files and libraries will depend on which OpenGL system platform you're using. OpenG.org maintains a list of links to OpenGL Utility libraries. You can download most of what you need from there. Under Microsoft Windows 9x, NT, and 2000: If you're using Visual C++, your compiler comes with include files for OpenGL and GLU, as well as .lib files to link with. For GLUT, download these files. Install glut.h in your compiler's include directory, glut32.lib in your compiler's lib directory, and glut32.dll in your Windows system directory (c:\windows\system for Windows 9x, or c:\winnt\system32 for Windows NT/2000). In summary, a fully installed Windows OpenGL development environment will look like this: <a table > where [compiler] is your compiler directory (such as c:\Program Files\Microsoft Visual Studio\VC98) and [system] is your Windows 9x/NT/2000 system directory (such as c:\winnt\system32 or c:\windows\system). If you're on a hardware platform that accelerates OpenGL, you'll need to install the ICD for your device. This may have shipped with your hardware, or you can download it from your hardware vendor's Web page. Your vendor may also provide a replacement or addition for gl.h, which provides definitions and declarations for vendor-specific OpenGL extensions. See the extensions section in this FAQ for more information. If you see files such as opengl.lib and glut.lib, these are SGI's unsupported libraries for Microsoft Windows. They should not be used. To use hardware acceleration, the Microsoft libraries are recommended. More info on the SGI libraries can be found here. Always link with either all Microsoft libraries (e.g., glu32.lib, glut32.lib, and opengl32.lib) or all SGI libraries (e.g., glu.lib, glut.lib, and opengl.lib). You can't use a combination of both Microsoft libarires and SGI libraries. However, you can install both sets of libraries on the same system. If you use SGI's .lib files, you'll need the corresponding .dll files installed in your system folder. (i.e., linking against opengl.lib requires that opengl.dll is installed at run time). You'll need to instruct your compiler to link with the OpenGL, GLU, and GLUT libraries. In Visual C++ 6.0, you can accomplish this with the Project menu's Settings dialog box. Scroll to the Link tab. In the Object/library modules edit box, add glut32.lib, glu32.lib, and opengl32.lib to the end of any text that is present.

  23. GLUT and OpenGL Utility Libraries
  24. There are numerous Windowing system and interface libraries available for OpenGL as well as Scengraphs and High-level libraries build on top of OpenGL About GLUT GLUT is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it considerably easier to learn about and explore OpenGL Programming. Other GLUT-like Window System Toolkits Libraries that are modeled on the functionality of GLUT providing support for things like: windowing and events, user input, menuing, full screen rendering, performance timing About GLX, GLU & DRI GLX is used on Unix OpenGL implementation to manage interaction with the X Window System and to encode OpenGL onto the X protocol stream for remote rendering. GLU is the OpenGL Utility Library. This is a set of functions to create texture mipmaps from a base image, map coordinates between screen and object space, and draw quadric surfaces and NURBS. DRI is the Direct Rendering Infrastructure for coordinating the Linux kernel, X window system, 3D graphics hardware and an OpenGL-based rendering engine. GLX, GLU and DRI GLXLibrary GLX 1.3 is used on Unix OpenGL implementation to manage interaction with the X Window System and to encode OpenGL onto the X protocol stream for remote rendering. It supports: pixel buffers for hardware accelerated offscreen rendering; read-only drawables for preprocessing of data in an offscreen window and direct video input; and FBConfigs, a more powerful and flexible interface for selecting frame buffer configurations underlying an OpenGL rendering window. Please refer to the OpenGL Registry for more information and links GLU Library GLU is the OpenGL Utility Library. This is a set of functions to create texture mipmaps from a base image, map coordinates between screen and object space, and draw quadric surfaces and NURBS. GLU 1.2 is the version of GLU that goes with OpenGL 1.1. GLU 1.3 is available and includes new capabilities corresponding to new OpenGL 1.2 features. Please refer to the OpenGL Registry for more information and links

  25. GLUT-like Windowing, GUI, and Media Control toolkits
  26. While GLUT sets the baseline standard for a cross-platform Window management and GUI toolkit and API, there are numerous other Toolkits and interface libraries built on top of OpenGL as compliments or modern replacements to GLUT.

    Application frameworks provide an underlying support layer for developers to control the platform's Windowing system and event handling. Widget Libraries or UI Frameworks make it easier to display common windowing controls such as drop downs, text entry, and buttons.

  27. CSc 433/533: OpenGL and GLUT Tutorial
  28. This is a paragraphIt is possible that an OpenGL library came with your compiler (e.g. Microsoft Visual C++) in which case you only need to get GLUT. You can use Mesa (I think) but it probably isn't worth the trouble. I used GLUT with Microsoft's OpenGL library without any problems.

    Whatever your system, it should be possible to set up the required libraries so that you will be able to do all the assignments on your home machine. HOWEVER, you should make sure that your programs compile and run correctly on Lectura because that's where I will execute them.

    Windows 95/98 With Visual C++ If you would like to develop your program using Windows with Visual C++, a project with the glut .lib file for windows can be downloaded here. This project includes the GLUT/OpenGL example file canvas.c. For more information on canvas.c, click here.

    If you would like the entire GLUT package for windows (the source code), click here. The library must be complied, and it includes a Makefile using nmake which can be read by visual c++.p>

  29. OpenGL Tutorial
  30. A project submitted in partial fulfillment of the requirements for the degree

  31. Beginners Tutorials
  32. Before jumping into OpenGL, you will first learn how to build the code that goes with each tutorial, how to run it, and most importantly, how to play with the code yourself.

  33. Some Good GLUT (freefglut) tutorials
  34. This is simple tutorial:light,camera etc...

  35. OpenGL Tutorial
  36. This tutorial does NOT cover the “modern” OpenGL (version 3.x and higher, latest is 4.5) which uses lower level API’s to give you more flexibility.

    Instead, we focus on the “older” OpenGL (version 2.1) to get your feet wet with high-level API’s.

  37. NURBS curve made easy
  38. this is a good example to demostrate how to use freeglut kit:

    1. This article is going to demonstrate to readers about how to draw or set a NURBS curve (either uniform or non-uniform) without the requirement of any existing NURBS library.
    2. The readers here only need a basic knowledge about how to use OpenGL and freeglut to draw an Arc or a circle, that’s all.
    3. Actually NURBS can be drawn with OpenGL or without OpenGL. The reason to use OpenGL here is because the author will show you a group of newly derived KNOTS-EQUATIONs as the key algorithm, which needs a function of OpenGL for verification purpose only.

  39. Learning Modern OpenGL
  40. A little guide about modern OpenGL and why it gives us so much value.

  41. OpenGL Development Cookbook
  42. This article is in the Book Review chapter. Reviews are intended to provide you with information on books - both paid and free - that others consider useful and of value to developers. Read a good programming book? Write a review!

  43. OpenGL SuperBible: Comprehensive Tutorial and Reference 6th Edition
  44. This is a paragraph.

  45. OpenGL 4 Shading Language Cookbook - Second Edition Paperback – December 24, 2013
  46. This is a paragraph.

  47. OpenGL Development Cookbook Paperback – June 25, 2013
  48. This is a paragraph.

  49. CSE 40166 / 60166 - Computer Graphics
  50. List of GLUT Callbacks

    CSE40166 Library API v1.5

  51. OpenGL More Code Samples
  52. Code Samples released by SGI with the OpenGL 1.1 distribution in 1997. These are very useful for beginning OpenGL coding and learning OpenGL program structure. Advanced rendering and later extensions are not covered in these examples.

    Simple program to visualize a mesh with a color ramp scale. Press 'h' for a help menu. Specify a data file as a command line argument.

  53. Code Resources
  54. This is a paragraph.

  55. Setting Up Your Environment
  56. If you would like to program using Windows and Microsoft Visual Studio.NET, please look at the Visual Studio.NET section.

  57. OPENGL tutorials
  58. This is a paragraph.

  59. GLUT tutorials
  60. This is a paragraph.

  61. GLUT Window
  62. a good working demo for me::

    Once you are able to compile GLUT applications, you will be able to continue with these tutorials. This tutorial will explain how an OpenGL window can be created using GLUT. This window will display all graphics in our 2D or 3D scenes.

  63. This is a paragraph.

  64. This is a paragraph.

  65. This is a paragraph.

  66. This is a paragraph.

  67. This is a paragraph.

  68. This is a paragraph.

  69. This is a paragraph.

  70. This is a paragraph.

  71. This is a paragraph.

manifest file research

manifest file research

  1. CFileVersionInfo - Getting the File Version Information
  2. Class for getting file version information This class wraps the GetFileVersionInfo, GetFileVersionInfoSize, VerQueryValue, and VerLanguageName API functions and can be used to determine full file version information.

  3. Creating Secure Trial Versions for .NET Applications - A Tutorial
  4. Implement trial licensing model for your .NET applications with minimal costs

  5. Using Manifest Settings for VC6 buildchain
  6. This tip explains how to get manifest support using the VC6 buildchain. I will use an example of requiring administrator rights for execution.

    At the end, I will explain the background and thereby why one would need to add a manifest file in this style, rather than just leave it without one.

  7. Understanding Manifest Generation for C/C++ Programs
  8. A manifest is an XML document that can be an external XML file or a resource embedded inside an application or an assembly. The manifest of an isolated application is used to manage the names and versions of shared side-by-side assemblies to which the application should bind at run time. The manifest of a side-by-side assembly specifies its dependencies on names, versions, resources, and other assemblies.

    There are two ways to create a manifest for an isolated application or a side-by-side assembly. First, the author of the assembly can manually create a manifest file following rules and naming requirements. Alternatively, if a program only depends on Visual C++ assemblies such as CRT, MFC, ATL or others, then a manifest can be generated automatically by the linker.

  9. SIDE-BY-SIDE MANIFEST MAKER
  10. Technical details It is important to understand that the same or very similar terminology is used by both win32 side-by-side and .Net technology. Win32 side-by-side assemblies and manifests are not the same as .Net assemblies and manifests - do not confuse them.

    A win32 side-by-side assembly is a collection of any files described by a common manifest. The manifest is an XML file matching a predefined schema. http://msdn2.microsoft.com/en-us/library/aa375632.aspx.

    The Windows system loader and COM implementation have been modified to implement this new technology. As a new process is created, the operating system creates an activation context for the process. This is a list of all files, COM attributes and window classes included in the application manifest and all manifests recursively referenced by that manifest. Any request for a COM component first checks if this component is included in the activation context. Any request to load a module using LoadLibraryExW (all other forms of LoadLibrary* eventually call this function) first checks if the module should be loaded from a location described by the activation context.

    Installation Instrucions: Download the task using the link at the bottom of the right panel on this page. Unzip to a folder of your choice. We recommend:

    • on 64-bit systems: C:\Program Files (x86)\MSBuild\MazeComputer\sxs32mm
    • on 32-bit systems: C:\Program Files\MSBuild\MazeComputer\sxs32mm
    The included HTML file lists the properties which, to a large extent, correspond to sxs32cmd.exe command line options. The included example project illustrates the use of the task.

    Why do you need our help We know win32 side-by-side (both 32-bit and 64-bit) inside out. We know how it works, where it works and, most importantly, where it does not work. We offer consulting, mentoring and development services. Whether you need guidance for your developers or help in corporate deployment planning contact us at sxs@mazecomputer.com. We are here to help you.

    Why you need Side-by-Side Manifest Maker Typing XML by hand is tedious and error prone. Creating XML using general XML editing tools helps you make the XML well-formed and valid, but you still have to identify and type in all appropriate GUIDs, ProgIDs and other attributes. Look in your own %systemroot%\WinSxS\Manifests directory. Open any manifest file with notepad or an XML editing tool. In our experience it takes between 2 and 8 hours to create a manifest comparable to x86_Microsoft.MSXML2_6bd6b9abf345378f_4.1.0.0_x-ww_b319d8da.Manifest (if you do not have Microsoft XML 4 installed, download it from Microsoft: http://www.microsoft.com/downloads/details.aspx?familyid=3144b72b-b4f2-46da-b4b6-c5d7485f2b42&displaylang=en). It takes 5 to 10 minutes to create it with Side-by-Side Manifest Maker. And, in almost all cases, our manifest is right the first time.

  11. Quick start guide:
  12. The following text assumes that you have already installed Manifest Maker. If you have not yet done so, please do it now and then come back to this guide. If you have not read the introduction, we suggest you read it now. Step-by-step guide to creating your first manifest. We create a manifest for Windows Notepad. The objective is to go through the steps of creating a very simple manifest. What is inside a manifest. We take a quick peek inside the manifest created above to introduce basic manifest terminology. Step-by-step guide to creating your first complete project. Example of a project for a very common scenario of an application with some COM DLLs. A large fraction of in-house business applications and many shrink-wrapped programs fall into this category. More details about a manifest anatomy. This manifest contains all pieces that you will encounter in manifests built with Manifest Maker. This chapter examines the manifest contents in more detail and introduces some very important concepts associated with manifests. Required files from Microsoft Software Development Kits. You need Windows SDK installed or, at least, selected tools available to Manifest Maker.

  13. How-To Guides and Usage Notes
  14. How-To Guides This section explains how to perform selected Manifest Maker and Windows tasks. The division between Manifest Maker and Windows tasks is quite flexible since most tasks here involve both Manifest Maker and Windows.

  15. Advanced Side-by-Side Topics
  16. Advanced Topics This chapter contains information helpful in planning how to use Side-by-Side technology. It does not require working knowledge of the program but it is very helpful to understand the basics of Side-by-Side. We strongly suggest that you read the introduction to Side-by-Side prior to studying this topic.

  17. User Interface
  18. The program interface is very simple and clean. There is one main window with menu, toolbar and status bar. The menu and toolbar provide access to all program functions. The window is resizable to take best advantage of your display area.

  19. What is Side-by-Side
  20. A bit of history… Since the very beginning Windows used dynamic link libraries. In the days of 12MHz 80286 processors or 25 MHz i386 when 16MB of RAM was considered lavish, every byte counted. DLLs saved the precious RAM by using the same image for multiple tasks loaded at the same time. In the beginning only the operating system came with DLLs but very soon developers started using this mechanism to not only share code between tasks but also to load pieces of functionality as they were needed and unload them when the task no longer required them. We use DLLs today, but not necessarily because of memory constraints. We use them for common code, code libraries, optional functionality, COM components, internationalization and many other reasons.

  21. Manifest Generation in Visual Studio
  22. Generation of a manifest file for a particular project can be controlled in the project Property Pages dialog. On the Configuration Properties tab, click Linker, then Manifest File, then Generate Manifest. By default the project properties of new projects are set to generate a manifest file. However it is possible to disable generation of the manifest for a project using the Generate Manifest property of the project. When this property is set to Yes, the manifest for this project is generated. Otherwise the linker ignores assembly information when resolving dependencies of the application code, and does not generate the manifest.

    The build system in Visual Studio allows the manifest to be embedded in the final binary application file, or generated as an external file. This behavior is controlled by the Embed Manifest option in the Project Properties dialog. To set this property, open the Manifest Tool node, then select Input and Output. If the manifest is not embedded, it is generated as an external file and saved in the same directory as the final binary. If the manifest is embedded, Visual Studio embeds the final manifests using the following process:

    1. After the source code is compiled to object files, the linker collects dependent assembly information. While linking the final binary, the linker generates an intermediate manifest that is used later to generate the final manifest.
    2. After the intermediate manifest and linking are finished, the manifest tool will be executed to merge a final manifest and save it as an external file.
    3. The project build system then detects whether the manifest generated by the manifest tool contains different information than the manifest already embedded in the binary.
    4. If the manifest embedded in the binary is different from the manifest generated by the manifest tool, or the binary does not contain an embedded manifest, Visual Studio will invoke the linker one more time to embed the external manifest file inside the binary as a resource.
    5. If the manifest embedded in the binary is the same as the manifest generated by the manifest tool, the build will continue to the next build steps.

    The manifest is embedded inside the final binary as a text resource and it can be viewed by opening the final binary as a file in Visual Studio. To ensure that the manifest points to the correct libraries, follow the steps described in Understanding the Dependencies of a Visual C++ Application or follow the suggestions described in the Troubleshooting section.

  23. Understanding the Dependencies of a Visual C++ Application
  24. To determine which Visual C++ libraries an application depends on, you can view the project properties. (In Solution Explorer, right-click on the project and choose Properties to open the Property Pages dialog box.) On Windows 8 and earlier, you can also use the Dependency Walker (depends.exe), which gives a more comprehensive picture of the dependencies. For more recent versions of Windows the lucasg/Dependencies tool provides similar functionality (this is a third-party tool not guaranteed by Microsoft.)

    In the Property Pages dialog box, you can examine various pages under Configuration Properties to understand the dependencies. For example, if your project uses the MFC libraries and you choose Use of MFC, Use MFC in a Shared DLL on the Configuration Properties, General page, your application at run time depends on MFC DLLs such as mfc.dll. If your application doesn't use MFC, it might depend on the CRT library if you choose a Runtime Library value of Multi-threaded Debug DLL (/MDd) or Multi-threaded DLL (/MD) on the Configuration Properties, C/C++, Code Generation page.

    By using depends.exe, you can examine a list of DLLs that are linked to the application at load time, and a list of its delay-loaded DLLs. If you want to get a complete list of DLLs that are dynamically loaded at run time, you can use the profiling feature in depends.exe to test the application until you're sure that all code paths have been exercised. When you end the profiling session, depends.exe shows which DLLs were dynamically loaded during run time.

    When you use depends.exe, be aware that a DLL might have a dependency on another DLL or on a specific version of a DLL. You can use depends.exe on either the development computer or on a target computer. On the development computer, depends.exe reports the DLLs that are required to support an application. If you have trouble getting an application to run on a target computer, you can copy depends.exe to it and then open the application in the tool so that you can determine whether any required DLLs are missing or incorrect.

    When you know which DLLs your application depends on, you can determine the ones that you have to redistribute with your application when you deploy it to another computer. In most cases, you don't have to redistribute system DLLs, but you may have to redistribute DLLs for Visual C++ libraries. For more information, see Determining Which DLLs to Redistribute.

  25. Create projects easily with private MFC, ATL and CRT assemblies
  26. An easy way to create programs that use CRT, MFC and ATL library DLLs from application local folders

  27. How to: Create a product manifest
  28. To deploy prerequisites for your application, you can create a bootstrapper package. A bootstrapper package contains a single product manifest file but a package manifest for each locale. The package manifest contains localization-specific aspects of your package. This includes strings, end-user license agreements, and the language packs.

  29. How to run application with Admin privileges using Manifest file in Visual Studio 2005?
  30. I need to create an application which needs to create files/folders in "C:\Program Files","Users[username]" and Sys32. Also the application needs to make some registry entry.
    This application needs to work on Vista and higher. Also, on Windows Server 2003 and higher.
    The above Operating Systems have the concept of User Account Control (UAC), where to access Program Files and writing in registry requires admin privileges.

    Go to the Propertis page of your project in Visual Studio, click on Linker -> Manifest File in the tree view. Then in the right hand pane select the privilege you require in the UAC Execution Level selector. In all cases this will raise the prompt in Windows unless UAC is turned off.

  31. How To Make .NET Application To Run As Administrator
  32. As a .Net client-server application developer, sometimes you may need to force your application to run as administrator. Though it is not an ideal solution to run an application always as an administrator, you may need it in certain unavoidable situations. One among the way is to add an application manifest to your application. Here I have provided the steps to add a manifest to the application and set the level to requireAdministrator, to force it to run as administrator. In addition, I have also provided a workaround to bypass the UAC prompt while launching the application.

  33. C# run as administrator without uac prompt
  34. many good collections.

  35. This is a paragraph.

  36. This is a paragraph.

  37. This is a paragraph.