Coder Social home page Coder Social logo

oglsuperbible5's People

Contributors

ljfc avatar starstonesoftware avatar

Watchers

 avatar  avatar

oglsuperbible5's Issues

Chapter 2...InitializeStockShaders() returns false

What steps will reproduce the problem?
Unknown

What is the expected output? What do you see instead?
InitializeStockShaders() return true; but it returns false
shaded triangle; blank triangle

What version of the product are you using? On what operating system?
Irrelevent? Windows 7 Ultimate x64, the latest SB5.zip package from the book 
site.

Please provide any additional information below.
I know nothing about dealing with GLSL, hence I am reading this book.
Using the latest version of GLEW.
I have my own framework which I use to get a window to draw in etc., but I set 
up everything to actually draw the triangle exactly like in the example. I can 
confirm everything needed to set up OpenGL is done. The triangle draws, but the 
shader apparently fails to compile and the result is a white, unshaded 
triangle. Doing something like "myobjectname.InitializeStockShaders();" yields 
a return value of false. I really don't understand the process of compiling 
shader programs at this point, so it's extremely frustrating to delve into this 
code that I have no way to understand, but it looks like in the 
gltLoadShaderPairSrcWithAttributes() function the first call to glGetShaderiv() 
returns GL_FALSE when processing GLT_SHADER_IDENTITY.

It boggles my mind. I have no idea what to google for. Totally stuck. Any help 
is appreciated.

Original issue reported on code.google.com by [email protected] on 31 Aug 2011 at 2:27

Block_Redux fails to render - workaround

What steps will reproduce the problem?
1. Open BlockRedux in Chapter13
2. Compile and run Block_Redux in Chapter 13

Expected: see the wireframe block on the floor
Got: just a white diagonal line bisecting the screen

What version of the product are you using? On what operating system?
oglsuperbible5 svn r176
Visual Studio C++ 2010 Express
Windows 7

I have a workaround for this issue: force the program to create a lower-level 
rendering context, viz:
        g_hRC = wglCreateContextAttribsARB(g_hDC, 0, attribs);
        if (true || g_hRC == NULL)
        {
            printf("!!! Could not create an OpenGL 3.3 context.\n");
            attribs[3] = 2;
            g_hRC = wglCreateContextAttribsARB(g_hDC, 0, attribs);
            if (true || g_hRC == NULL)
            {
                printf("!!! Could not create an OpenGL 3.2 context.\n");
                attribs[3] = 1;
                g_hRC = wglCreateContextAttribsARB(g_hDC, 0, attribs);

.....presumably the cause of this problem is that a higher opengl version is 
being reported than the program can create a context for. I don't really 
understand the implications, or whether it should means the driver is incorrect 
or that the program should be changed, but perhaps this post may be of some 
help to others.

Original issue reported on code.google.com by [email protected] on 17 Nov 2010 at 6:04

Crash of all sphereworld programs

What steps will reproduce the problem?
1. Run any Sphereworld program

What is the expected output? What do you see instead?
No crash and the program running according to what is stated in the book.

What version of the product are you using? On what operating system?
Revision 192.
OS: Gentoo Linux for AMD 64 arch.

Please provide any additional information below.
My graphics chipset is an NVIDIA GeForce 8800 GTX

Below is the backtrace of Sphereworld via gdb:

(gdb) run
Starting program: 
/home/roland/Projets/cpp-prj/oglsuperbible5-read-only/Linux/Chapter04/SphereWorl
d/SphereWorld 

Program received signal SIGSEGV, Segmentation fault.
0x0000000000401dfc in GLMatrixStack::GetMatrix (this=0x0) at 
../../../Src/GLTools/include/GLMatrixStack.h:165
165                     const M3DMatrix44f& GetMatrix(void) { return 
pStack[stackPointer]; }
(gdb) backtrace
#0  0x0000000000401dfc in GLMatrixStack::GetMatrix (this=0x0) at 
../../../Src/GLTools/include/GLMatrixStack.h:165
#1  0x0000000000402390 in GLGeometryTransform::GetModelViewProjectionMatrix 
(this=0x649760) at ../../../Src/GLTools/include/GLGeometryTransform.h:53
#2  0x0000000000401a93 in RenderScene () at 
../../../Src/Chapter04/SphereWorld/SphereWorld.cpp:102
#3  0x00007ffff787ef18 in ?? () from /usr/lib/libglut.so.3
#4  0x00007ffff7882ae9 in fgEnumWindows () from /usr/lib/libglut.so.3
#5  0x00007ffff787f403 in glutMainLoopEvent () from /usr/lib/libglut.so.3
#6  0x00007ffff787fdb0 in glutMainLoop () from /usr/lib/libglut.so.3
#7  0x0000000000401da3 in main (argc=1, argv=0x7fffffffd9d8) at 
../../../Src/Chapter04/SphereWorld/SphereWorld.cpp:144

The backtrace are similar for the other Sphereworld programs.

Original issue reported on code.google.com by [email protected] on 14 Apr 2011 at 2:38

ADSGouraud demo doesn't actually use specular material component

What steps will reproduce the problem?
1. Change the specular colour in the ADSGouraud cpp program (eg to red)
2. Run

What is the expected output? What do you see instead?
Specular highlight is white. 

Please provide any additional information below.
Simple fix - the vertex shader doesn't actually use the specular uniform
Change line 51 of ADSGouraud.vp from:
vVaryingColor.rgb += vec3(fSpec, fSpec, fSpec);
to:
vVaryingColor.rgb += fSpec * specularColor.rgb;

(This typo is also in the listing in the book)

Original issue reported on code.google.com by [email protected] on 26 Nov 2010 at 10:35

Chapter 1 link problem with gltReadTGABits() under OSX 10.6, XCode 4.0

What steps will reproduce the problem?
1. Set up a project according to the instructions in Chapter 2, but using the 
block.cpp sourcecode from chapter 1.
2. Included libGLTools.a from the XCode.zip download into the project.

What is the expected output? What do you see instead?

The linker error that I'm getting is the typical undefined symbol: 
"gltReadTGABits(char const*, int*, int*, int*, unsigned int*). It doesn't seem 
to matter whether I compile 32-bit or 64-bit.

BTW, the Triangle example works fine, so I don't think the problem is my setup.

What version of the product are you using? On what operating system?
OSX 10.6, XCode 4.0

Please provide any additional information below.

I'm a little new to Mac programming as well as OpenGL -- but I see other 
newbies with the same problem on other discussion boards.  They've largely 
solved it by copying the source of the function directly into their source 
file.  I'd rather figure out what the cause is and fix that.

Original issue reported on code.google.com by [email protected] on 31 Aug 2011 at 10:06

Out of array bounds in memcpy

In the file "math3d.h" there are two functions:
inline void m3dInjectRotationMatrix44(M3DMatrix44f dst, const M3DMatrix33f src)
inline void m3dInjectRotationMatrix44(M3DMatrix44d dst, const M3DMatrix33d src)

M3DMatrix33f and M3DMatrix33d are arrays with a size of 9:
typedef float   M3DMatrix33f[9];        // A 3 x 3 matrix, column major (floats) - 
OpenGL Style
typedef double  M3DMatrix33d[9];        // A 3 x 3 matrix, column major (doubles) - 
OpenGL Style

but inside the functions, src parameter is treated like an array of size 16:

    memcpy(dst, src, sizeof(float) * 4);
    memcpy(dst + 4, src + 4, sizeof(float) * 4);
    memcpy(dst + 8, src + 8, sizeof(float) * 4);

I think this is not correct.

Original issue reported on code.google.com by [email protected] on 7 Nov 2010 at 8:43

Visual artifacts in Orthographic

What steps will reproduce the problem?
Compile and run the orthographic program

What is the expected output? What do you see instead?
I expect to see a hollow tubelike box. Instead I see a hollow tubelike box with 
some added artifacts.
See attached picture


What version of the product are you using? On what operating system?
Ubuntu 12.04. Radeon HD 4850 with proprietary drivers.

Please provide any additional information below.
The artifacts usually don't appear until i try to rotate the tube. The 
artifacts are different each time i run the program.

Original issue reported on code.google.com by [email protected] on 10 May 2012 at 7:26

Attachments:

Chapter 6 - Dissolve - won't load the texture.

What steps will reproduce the problem?
1. Compile the program (Dissolve - Chapter 6)
2. Run the program
3.

What is the expected output? What do you see instead?
I should see a "melting torus". I see a black window.


What version of the product are you using? On what operating system?
revision 193. Running Linux Ubuntu 11.04 desktop 64bit.


Please provide any additional information below.

The problem is that the program doesn't use the texture. The problem is in the 
line 143 of Dissolve.cpp file. It should be
                glUniform1i(locTexture, 0);
instead is
                glUniform1i(locTexture, 1);

So the fragment shader cannot use the texture and uses instead a null vector 
all the time. When comparing the texture color value (that is 0 0 0 0) to the 
dissolveFactor, the comparison is always false, so the fragment goes on discard 
for every pixel all the time. The result is a black window.


Original issue reported on code.google.com by [email protected] on 22 Aug 2011 at 12:43

Block example from Summary Chapter black screen for textured output.

What steps will reproduce the problem?
1.Run Block example in VC++2010
2.
3.

What is the expected output? What do you see instead?

Pressing space bar should cycle through wireframe till textured. The textured 
output gives only a black screen (up to there everything else works OK).

What version of the product are you using? On what operating system?

Superbible 5, Win7 x64

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 8 Sep 2012 at 12:50

Texture files missing fot Block from Chapter 1 for GNU/Linux

What steps will reproduce the problem?
1. Compile the Block example for Chapter 1 on GNU/Linux (after applying the 
patch from Issue 3)
2. Run the example
3. Press Space key 4 or 5 times

What is the expected output? What do you see instead?
I expected to see table and cube with textures. What was actually there was 
just all black window, because textures were not shown.

What version of the product are you using? On what operating system?
This is on 64-bit GNU/Linux with GCC 4.5.1.

Please provide any additional information below.
The problem is because the texture files (*.tga) are missing from the 
Linux/Chapter01/Block/ folder. The files should be copied from 
Src/Chapter01/Block/ and then it works.

Original issue reported on code.google.com by marjana.repinc.58 on 31 Oct 2010 at 1:05

Chapter 6: Incorrect computation of Specular component

Specular component in ADSGourad and ADSPhong are computed with an incorrect 
equation.

The correct specular component should be computed by the scalar product of the 
reflection vector and the normalized position vector of the fragment/vertex 
with respect to the camera (which is normalized(vPosition3) for ADSGourad)

The incorrect code...

    // Specular Light
    vec3 vReflection = normalize(reflect(-vLightDir, vEyeNormal));
    float spec = max(0.0, dot(vEyeNormal, vReflection));
    if(diff != 0) {
        float fSpec = pow(spec, 128.0);
        vVaryingColor.rgb += vec3(fSpec, fSpec, fSpec);
    }


The code below fixes the specular calculation and also makes a small 
optimization... if diff is zero, we dont need to calculate the specular 
component.


    // Specular Light
    if (diff != 0){ // do this only if diffusion is non zero.
        vec3 vReflection = normalize(reflect(-vLightDir, vEyeNormal));
        vec3 vNormPos3 = normalize(vPosition3);
        float spec = max(0.0, -dot(vNormPos3, vReflection)); // correct specular component
        float fSpec = pow(spec, 128.0);
        vVaryingColor.rgb += fSpec * specularColor.rgb;
    }


The same problem also affects ADSPhong. The fix is as follows...

Add new out attribute vVaryingPosition to ADSPhong.vp

smooth out vec3 vVaryingLightDir;
smooth out vec3 vVaryingPosition;// new line
...
...
    vVaryingLightDir = normalize(vLightPosition - vPosition3);
    vVaryingPosition = vPosition3; // new line



and add correct specular calculation to ADSPhong.fp



smooth in vec3 vVaryingLightDir;
smooth in vec3 vVaryingPosition; // new line
...
...
    // Specular Light
    if(diff != 0) {
        vec3 vReflection = normalize(reflect(-normalize(vVaryingLightDir), normalize(vVaryingNormal)));
        float spec = max(0.0, -dot(normalize(vVaryingPosition), vReflection));
        float fSpec = pow(spec, 128.0);
        vFragColor.rgb += fSpec * specularColor.rgb;
    }




The incorrect and correct Phong lighting outputs are attached.

Original issue reported on code.google.com by [email protected] on 17 Sep 2012 at 11:21

Attachments:

Chapter 13 Block_redux example missing double buffer pixel attribute.

What steps will reproduce the problem?
1. Compile and run chapter 13 Block_redux example.
2.
3.

What is the expected output? What do you see instead?
OpenGL window just shows white screen instead of scene.

What version of the product are you using? On what operating system?
Windows 7

Please provide any additional information below.
Setting double buffering is missing when specifying pixel attributes:
WGL_DOUBLE_BUFFER_ARB,  GL_TRUE, // Double buffered context

Original issue reported on code.google.com by [email protected] on 20 Jan 2012 at 2:53

hdr_bloom sample doesn't produce bloom output because it doesn't generate mipmaps for textures with parameter GL_LINEAR_MIPMAP_LINEAR

What steps will reproduce the problem?
1. Create a Makefile if there isn't one
2. Compile the sample program

What is the expected output? What do you see instead?
The sample is expected to show a bloom on bright areas of the image, there is 
no bloom instead.


What version of the product are you using? On what operating system?
Ubuntu 10.10 x86_64 / GeForce GT220 / 260.19.12

Please provide any additional information below.
The textures "hdrTextures" and "brightBlurTextures" are setup with the 
GL_LINEAR_MIPMAP_LINEAR parameter, implying the required mipmap levels are 
generated somewhere before their use, but that isn't happening.
I think the sample should be corrected to ask OpenGL to generate mipmaps 
whenever this is needed: ie, in the "SetupHDRProg" method binding the textures 
for shaders usage.

Attached here is my Makefile and the patched hdr_bloom sample program with some 
other minor fixes (filename casing, GL/GLU paths..): i'm not going to attach a 
patch file since svn is mangling all the output with useless line-ending stuff 
(-x --ignore-eol-style doesn't ignore eol style).

Original issue reported on code.google.com by [email protected] on 17 Oct 2010 at 1:13

Attachments:

Chapter01/Block project will not compile out-of-the-box on Ubuntu

What steps will reproduce the problem?
1. Check out the code
2. cd to Linux/Chapter01/Block
3. type "make"

What is the expected output? What do you see instead?
It should compile. Instead I get this:

g++  -g -I/usr/include -I/usr/local/include -I/usr/include/GL 
-I../../../Src/GLTools/include/  -I../../../Src/GLTools/include/GL -o Block 
-L/usr/X11R6/lib -L/usr/X11R6/lib64 -L/usr/local/lib 
../../../Src/Chapter01/Block/Block.cpp ../../../Src/GLTools/src/glew.c 
../../../Src/GLTools/src/GLTools.cpp ../../../Src/GLTools/src/GLBatch.cpp 
../../../Src/GLTools/src/GLTriangleBatch.cpp 
../../../Src/GLTools/src/GLShaderManager.cpp 
../../../Src/GLTools/src/math3d.cpp -lX11 -lglut -lGL -lGLU -lm
In file included from ../../../Src/GLTools/include/GLTools.h:70:0,
                 from ../../../Src/Chapter01/Block/Block.cpp:6:
../../../Src/GLTools/include/GL/glew.h:1172:20: fatal error: GL/glu.h: No such 
file or directory
compilation terminated.
In file included from ../../../Src/GLTools/src/glew.c:32:0:
../../../Src/GLTools/include/GL/glew.h:1172:20: fatal error: GL/glu.h: No such 
file or directory
compilation terminated.
In file included from ../../../Src/GLTools/include/GLTools.h:70:0,
                 from ../../../Src/GLTools/src/GLTools.cpp:36:
../../../Src/GLTools/include/GL/glew.h:1172:20: fatal error: GL/glu.h: No such 
file or directory
compilation terminated.
In file included from ../../../Src/GLTools/include/GLBatch.h:62:0,
                 from ../../../Src/GLTools/src/GLBatch.cpp:36:
../../../Src/GLTools/include/GL/glew.h:1172:20: fatal error: GL/glu.h: No such 
file or directory
compilation terminated.
In file included from ../../../Src/GLTools/include/GLTriangleBatch.h:77:0,
                 from ../../../Src/GLTools/src/GLTriangleBatch.cpp:46:
../../../Src/GLTools/include/GL/glew.h:1172:20: fatal error: GL/glu.h: No such 
file or directory
compilation terminated.
In file included from ../../../Src/GLTools/include/GLShaderManager.h:63:0,
                 from ../../../Src/GLTools/src/GLShaderManager.cpp:31:
../../../Src/GLTools/include/GL/glew.h:1172:20: fatal error: GL/glu.h: No such 
file or directory
compilation terminated.
make: *** [Block] Error 1


What version of the product are you using? On what operating system?
Rev. 193, on Ubuntu 11.10.

Please provide any additional information below.
I assume that some prerequisites are missing. I have build-essential, but I 
don't know what other packages I need. Prerequisites for building the samples 
should be described in a README file.


Original issue reported on code.google.com by [email protected] on 19 Dec 2011 at 10:09

[PATCH] Chapter 6 - TexturedTriangle fails to compile

What steps will reproduce the problem?
1. go to Linux/Chapter06/TexturedTriangle folder
2. enter "make"

What is the expected output? What do you see instead?
The example should compile but I get the error:
$ make
g++  -g -I/usr/include -I/usr/local/include -I/usr/include/GL 
-I../../../Src/GLTools/include/  -I../../../Src/GLTools/include/GL -o 
TexturedTriangle -L/usr/X11R6/lib -L/usr/X11R6/lib64 -L/usr/local/lib 
../../../Src/Chapter06/TexturedTriangle/TexturedTriangle.cpp 
../../../Src/GLTools/src/glew.c ../../../Src/GLTools/src/GLTools.cpp 
../../../Src/GLTools/src/GLBatch.cpp 
../../../Src/GLTools/src/GLTriangleBatch.cpp 
../../../Src/GLTools/src/GLShaderManager.cpp 
../../../Src/GLTools/src/math3d.cpp -lX11 -lglut -lGL -lGLU -lm
../../../Src/Chapter06/TexturedTriangle/TexturedTriangle.cpp: In function 
‘void SetupRC()’:
../../../Src/Chapter06/TexturedTriangle/TexturedTriangle.cpp:87: error: 
‘myIdentityShader’ was not declared in this scope
make: *** [TexturedTriangle] Error 1

What version of the product are you using? On what operating system?
revision 176, 64-bit GNU/Linux, GCC 4.4.5

Please provide any additional information below.
myIdentityShader should be renamed to myTexturedIdentityShader, patch attached

Original issue reported on code.google.com by marjana.repinc.58 on 2 Nov 2010 at 1:57

Attachments:

Chapter 6: Dissolve example broken

glUniform1i(locTexture, 1);

from Dissolve.cpp should be:

glUniform1i(locTexture, 0);//we use texture unit zero!

Also, the fragment shader samples the texture, discards the texel if needed, 
but never applies the sampled texture color to the texel, hence, one must add 
this line:
vFragColor *= texture(cloudTexture, vVaryingTexCoord);

after the code that applies the ambient and diffuse colors for the texture to 
be able to appear on screen at all.

Original issue reported on code.google.com by [email protected] on 3 Jul 2011 at 1:09

Chapter 07: MultiTexture broken on Linux

The folder for MultiTexture is missing from the Linux folder...

Here are steps to build this example.
Copy the folder Src/Chapter07/MultiTexture to Linux/Chapter07.
Delete the file MultiTexture.cpp from the linux folder.

Download the Makefile and move it to the Linux/Chapter07/MultiTexture folder.

Modify the following line in Src/Chapter07/MultiTexture/MultiTexture.cpp ...
-#include <Stopwatch.h>
+#include <StopWatch.h>


Make and run.

Original issue reported on code.google.com by [email protected] on 18 Sep 2012 at 8:31

Attachments:

Orthographic and Perspective in Chapter 4 have incorrect normals

What steps will reproduce the problem?
1. Run the Orthographic or Perspective example in Chapter04.
2. Rotate the hollow pipe to see the inner top face.
3. The face is always black irrespective of its angle. The attached photos show 
the issue where the top face is black, as compared to the bottom face.

What is the expected output? What do you see instead?
The inner top face should change color as its angle to the light changes.

What version of the product are you using? On what operating system?
Ubuntu 10.04

Please provide any additional information below.

The normals of the top inside face are specified incorrectly in both the 
programs. The normals specified are

innerBatch.Normal3f(0.0f, 1.0f, 0.0f);

The comment preceding this is also incorrect
// Normal points up Y axis

The normal for the top inner face should point down.

Changing the normals to point down fixes the problem.
// Normal points down Y axis
innerBatch.Normal3f(0.0f, -1.0f, 0.0f);

Original issue reported on code.google.com by [email protected] on 31 Aug 2012 at 8:02

Attachments:

Book errata: GL_COPY_READ_BUFFER

This is not a code problem - just a minor correction in the book.

On page 334 of the OGL SuperBible 5, the first line says "You have seen how 
some buffer binding targets such as GL_PIXEL_PACK_BUFFER and 
GL_COPY_READ_BUFFER are used".

However, the code does not use GL_COPY_READ_BUFFER. It uses 
GL_PIXEL_UNPACK_BUFFER.

I gather that both these methods work very similarly.

Original issue reported on code.google.com by [email protected] on 19 Sep 2012 at 10:48

Chapter 9: Multisample HDR one-line fix

Texture target of glFramebufferTexture2D is currently GL_TEXTURE_2D. On my 
system, this will cause

glGetIntegerv(GL_SAMPLES, &sampleCount); 

to return 0 instead of 8.

Using GL_TEXTURE_2D_MULTISAMPLE as the texture target for 
glFramebufferTexture2D appears to be the solution. 
I'm not 100% sure as the reference pages don't discuss this issue at all, but 
at least it works for me.


Original issue reported on code.google.com by [email protected] on 20 Mar 2011 at 9:27

Attachments:

glLineWidth() hardware implementation limit

What steps will reproduce the problem?
1. Compile and run Primitives program from Chapter 3 or Objects program from 
Chapter 4

What is the expected output? What do you see instead?
Lines are not drawn and blended over filled polygon rendering.

What version of the product are you using? On what operating system?
SVN Revision 193
Ubuntu Linux 10.10 64-bit
VGA compatible controller: ATI Technologies Inc RV770 [Radeon HD 4870]
OpenGL version string: 3.3.10834 Compatibility Profile Context

Please provide any additional information below.
I found that the hardware implementations of glLineWidth() may set a maximum 
line width for antialiased lines. For my particular card this limit is 2 for 
lines with GL_LINE_SMOOTH enabled. Lowering the line width or commenting out 
line 91 allows me to properly see the wireframe effect for these programs.

Original issue reported on code.google.com by [email protected] on 27 Jun 2011 at 4:50

vs2008 projects, cannot open file 'freeglut.lib'

At least Triangles and Bounce VS2008 projects are broken (I assume others are 
also).
You get:
LINK : fatal error LNK1104: cannot open file 'freeglut.lib'

Because 2010-12-31 the freeglut-2.6.0/include/GL/freeglut_std.h file was 
modified in svn:
From:
71#           pragma comment (lib, "freeglut_static.lib")
To:
71#           pragma comment (lib, "freeglut.lib")

So freeglut always adds lib include for "freeglut.lib", even when 
FREEGLUT_STATIC is defined.

Changing that back to "freeglut_static.lib" fixes the problem.

Original issue reported on code.google.com by [email protected] on 8 Feb 2011 at 9:36

Chapter07 CubeMapped example in Linux

The CubeMapped example in Chapter07 is missing some files under the Linux 
folder.

First, make fails because we are missing SkyBox shader files. Once these are 
copied, the program does not display anything... thats because the pos_x and 
pos_y tga files are also missing. The program also does not throw an error when 
it fails to find the tga files.

Copy the following files from Src/Chapter07/CubeMapped to 
Linux/Chapter07/CubeMapped

pos_x.tga
SkyBox.fp
pos_y.tga
SkyBox.vp


Now you are good to go...

Original issue reported on code.google.com by [email protected] on 18 Sep 2012 at 6:56

Mixed use of spaces and tabs in the sourcecode.

What steps will reproduce the problem?
1. Use an editor that can show the whitespace.
2. See all the mixed spaces and tabs.
3. Feel uncomfortable.

It might be my OCD acting up but this mixed use of spaces and tabs really 
upsets me. I'd be more than willing to go trough the source files and fix this. 
If you can give me some pointers on what you would like (spaces/tabs etc) I can 
get started and provide patches.

Original issue reported on code.google.com by [email protected] on 25 Nov 2010 at 10:30

Chapter 8: FBO examples (NVidia) - with fix

What steps will reproduce the problem?
1. Run FB0 examples from chapter 8 on NVidia drivers


What is the expected output? What do you see instead?
E.g. Reflection example, should see reflection on mirror. Instead, a blank 
(black) mirror is drawn.

What version of the product are you using? On what operating system?
OpenGL 3.0, NVIDIA 9300 M graphics card

Please provide any additional information below.

This can be solved by editing the FBO texture initialisation, from line 211 
onwards:
// Create the reflection texture
glGenTextures(1, &mirrorTexture);
glBindTexture(GL_TEXTURE_2D, mirrorTexture);
// ADD THE FOLLOWING TWO LINES:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );

OpenGL assumes mipmaps will be used for magnification and minification, these 
have not been created for the reflection texture. Alternative solution 
presumably to set up mipmaps, but would have to recreate these every time the 
reflection image changed.

Original issue reported on code.google.com by [email protected] on 17 Nov 2011 at 11:26

Block_redux white window due to glFlush missing

I'm trying the examples of the book (on my Windows 7 64bit Laptop with nVidia 
graphic) but block_redux does not work.
Even the svn version does not.

The window was just white:
SwapBuffers does not "paint" into the window.

Reading "http://www.opengl.org/pipeline/article/vol003_7/" I found that I need 
a "glFlush" before the SwapBuffers():

There I found this explanation:
Windowed applications that use frontbuffer rendering without ever calling 
glFlush or glFinish (as they should) are likely to appear completely black, 
because the rendering will sit forever in the offscreen frontbuffer. Not even 
switching the DWM off is likely to fix these, given that the offscreen 
frontbuffer is a requirement of the driver model itself.

Additional note:
Neither the zip file nor the SVN version did come so far. 
I had to replace the value "1" for 
WGL_ACCELERATION_ARB to WGL_FULL_ACCELERATION_ARB
with "1" I didn't get the pixel format error message.

Original issue reported on code.google.com by [email protected] on 1 Feb 2011 at 10:36

GLTools.cpp fails to compile with gcc 4.4.5

What steps will reproduce the problem?
1. Compile GLTools.cpp with gcc 4.4.5

What is the expected output? What do you see instead?

I expect it to compile.  Instead, it gives the error:

GLTools.cpp: In function ‘GLuint gltLoadShaderTripletWithAttributes(const 
char*, const char*, const char*, ...)’:
GLTools.cpp:1255: warning: format not a string literal and no format arguments
GLTools.cpp:1262: error: jump to label ‘failed’
GLTools.cpp:1214: error:   from here
GLTools.cpp:1233: error:   crosses initialization of ‘int iArgCount’
GLTools.cpp:1262: error: jump to label ‘failed’
GLTools.cpp:1208: error:   from here
GLTools.cpp:1233: error:   crosses initialization of ‘int iArgCount’
GLTools.cpp:1262: error: jump to label ‘failed’
GLTools.cpp:1200: error:   from here
GLTools.cpp:1233: error:   crosses initialization of ‘int iArgCount’
GLTools.cpp:1262: error: jump to label ‘failed’
GLTools.cpp:1194: error:   from here
GLTools.cpp:1233: error:   crosses initialization of ‘int iArgCount’
GLTools.cpp:1262: error: jump to label ‘failed’
GLTools.cpp:1187: error:   from here
GLTools.cpp:1233: error:   crosses initialization of ‘int iArgCount’
GLTools.cpp:1262: error: jump to label ‘failed’
GLTools.cpp:1181: error:   from here
GLTools.cpp:1233: error:   crosses initialization of ‘int iArgCount’


What version of the product are you using? On what operating system?

SVN r176

Please provide any additional information below.

Attached is a patch that fixes it for me.

Original issue reported on code.google.com by [email protected] on 30 Oct 2010 at 10:11

Attachments:

GLBatch destructor segmentation fault

When GLBatch is declared but not used - its destructor yields a seg fault.

To fix this issue replace in GLBatch::~GLBatch() this:
#ifndef OPENGL_ES
    glDeleteVertexArrays(1, &vertexArrayObject);
#endif


with this:
#ifndef OPENGL_ES
    if(vertexArrayObject != 0) {
        glDeleteVertexArrays(1, &vertexArrayObject);
    }
#endif

Original issue reported on code.google.com by [email protected] on 23 Jun 2011 at 5:34

SuperBible 5th Edition First Program Problem

What steps will reproduce the problem?
1.  I get into problems when the code gets down to the GLEW library init
2. I am running Win Vista 64bit w/ new OpenGL drivers, developing in Visual C++ 
2010 Express Edition.
3. If you have read or know the first example, it's in Chapter 2. 


What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.
It wont compile.

Original issue reported on code.google.com by [email protected] on 22 Feb 2011 at 2:29

Most of the samples using opengl3.3 (chap 11 onwards) dont work

Most of the examples from chapter 11 onwards which use opengl3.3 dont work. The 
reason is the glew library does not expose the func. pointers. 
This also is the reason for segmentation faults for perspective program in 
chapter 11
Resolution: use glewExperimental=GL_TRUE; before glewInit(); for glew v 1.5.5  
I m not sure whether the current glew version has changed this but it works for 
glew v 1.5.5.

The fbo examples from chapter 8 dont check for framebuffer completeness which 
is strange. Chapter 9 hdr_msaa example does not work because the fbo si 
attached to GL_TEXTURE_2D texture (in line 291 hdr_msaa.cpp) when it should use 
GL_TEXTURE_2D_MULTISAMPLE as follows 
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, 
GL_TEXTURE_2D_MULTISAMPLE, hdrTextures[0], 0);

More errors and their reolution are pointed out here 
http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=28488
5#Post284885
I have successfully build and run all the samples from the book svn release. 


Original issue reported on code.google.com by [email protected] on 7 Jan 2011 at 11:49

The samples doesn't complile on VC++ 2010 express

What steps will reproduce the problem?
1. Try to compile the VisualStudion2010.vcxproj in Visual Studio c++ express. I 
suspect that it some linking problem.


What is the expected output? What do you see instead?

c:\users\brte\downloads\sb5\src\chapter01\block\block.cpp(6): fatal error 
C1083: Cannot open include file: 'GLTools.h': No such file or directory

What version of the product are you using? On what operating system?
I'm using MSVC++ 2010 on Windows 7

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 30 Dec 2011 at 4:40

Chapter 3 - Primitives program

Line 138-142 are wrong and -anyway- not essential.
    // Close the fan
    nVerts++;
    vPoints[nVerts][0] = r;
    vPoints[nVerts][1] = 0;
    vPoints[nVerts][2] = 0.0f;

The vPoints array has already 8 vertices and closes correctly. Those lines of 
code create a 9th vertex which wont be picked up by  
triangleFanBatch.Begin(GL_TRIANGLE_FAN, 8); and anyway define a vertex in a 
wrong position (the z coordinate should be -0.5f;

Original issue reported on code.google.com by [email protected] on 28 May 2011 at 10:10

Imposible to download from SVN repository

What steps will reproduce the problem?
1. Download a SVN client(like Tortoise SVN)
2. Try to download using the provided URL 
(http://oglsuperbible5.googlecode.com/svn/trunk/ oglsuperbible5-read-only)
3. Sometimes the provided URL, doesn't work, so then I use 
this(http://oglsuperbible5.googlecode.com/svn/trunk)

What is the expected output? What do you see instead?
I expect the files, but midway through it stops, the errors are usually
random, mostly about corrupted files and folders or about not being able to 
read something.



What version of the product are you using? On what operating system?
Tortoise SVN(Latest update)
Rapid SVN(Latest stable version)

Original issue reported on code.google.com by [email protected] on 15 Dec 2010 at 4:15

WGL_ACCELERATION_ARB should use enum WGL_FULL_ACCELERATION_ARB

In the Ch13 code, the wglChoosePixelFormatARB attribute code is

        WGL_ACCELERATION_ARB,   1, // must be HW accelerated

but WGL_ACCELERATION_ARB's value should be one of the values 

        WGL_NO_ACCELERATION_ARB                 0x2025
        WGL_GENERIC_ACCELERATION_ARB            0x2026
        WGL_FULL_ACCELERATION_ARB               0x2027

This error causes the Ch13 examples to fail on an NVIDIA Quadro FX 
880M/PCI/SSE2 Quadro FX 880M/PCI/SSE2.

Original issue reported on code.google.com by [email protected] on 31 Aug 2011 at 7:30

Block example from Chapter 1 fails to compile

What steps will reproduce the problem?
1. Check out the source code from here
2. Go into Linux/Chapter01/Block folder
3. Enter "make"

What is the expected output? What do you see instead?
The example should compile withou error.

What version of the product are you using? On what operating system?
I'm using revision 176 of the source code on 64-bit GNU/Linux with GCC 4.5.1

Please provide any additional information below.
This is the error I get:
$ make
g++  -g -I/usr/include -I/usr/local/include -I/usr/include/GL 
-I../../../Src/GLTools/include/  -I../../../Src/GLTools/include/GL -o Block 
-L/usr/X11R6/lib -L/usr/X11R6/lib64 -L/usr/local/lib 
../../../Src/Chapter01/Block/Block.cpp ../../../Src/GLTools/src/glew.c 
../../../Src/GLTools/src/GLTools.cpp ../../../Src/GLTools/src/GLBatch.cpp 
../../../Src/GLTools/src/GLTriangleBatch.cpp 
../../../Src/GLTools/src/GLShaderManager.cpp 
../../../Src/GLTools/src/math3d.cpp -lX11 -lglut -lGL -lGLU -lm
../../../Src/GLTools/src/GLTools.cpp: In function ‘GLuint 
gltLoadShaderTripletWithAttributes(const char*, const char*, const char*, 
...)’:
../../../Src/GLTools/src/GLTools.cpp:1255:32: warning: format not a string 
literal and no format arguments
../../../Src/GLTools/src/GLTools.cpp:1262:1: error: jump to label ‘failed’
../../../Src/GLTools/src/GLTools.cpp:1214:18: error:   from here
../../../Src/GLTools/src/GLTools.cpp:1233:9: error:   crosses initialization of 
‘int iArgCount’                                                             

../../../Src/GLTools/src/GLTools.cpp:1262:1: error: jump to label ‘failed’  


../../../Src/GLTools/src/GLTools.cpp:1208:18: error:   from here                


../../../Src/GLTools/src/GLTools.cpp:1233:9: error:   crosses initialization of 
‘int iArgCount’                                                             

../../../Src/GLTools/src/GLTools.cpp:1262:1: error: jump to label ‘failed’  


../../../Src/GLTools/src/GLTools.cpp:1200:18: error:   from here                


../../../Src/GLTools/src/GLTools.cpp:1233:9: error:   crosses initialization of 
‘int iArgCount’                                                             

../../../Src/GLTools/src/GLTools.cpp:1262:1: error: jump to label ‘failed’  


../../../Src/GLTools/src/GLTools.cpp:1194:18: error:   from here                


../../../Src/GLTools/src/GLTools.cpp:1233:9: error:   crosses initialization of 
‘int iArgCount’                                                             

../../../Src/GLTools/src/GLTools.cpp:1262:1: error: jump to label ‘failed’  


../../../Src/GLTools/src/GLTools.cpp:1187:14: error:   from here                


../../../Src/GLTools/src/GLTools.cpp:1233:9: error:   crosses initialization of 
‘int iArgCount’                                                             

../../../Src/GLTools/src/GLTools.cpp:1262:1: error: jump to label ‘failed’  


../../../Src/GLTools/src/GLTools.cpp:1181:14: error:   from here                


../../../Src/GLTools/src/GLTools.cpp:1233:9: error:   crosses initialization of 
‘int iArgCount’
make: *** [Block] Error 1

Original issue reported on code.google.com by marjana.repinc.58 on 30 Oct 2010 at 5:05

Most of chapter11 examples don't work

What steps will reproduce the problem?
1. just run the executables or debug inside VS.The screen shows nothing
2.
3.

What is the expected output? What do you see instead?
Just the viewport

What version of the product are you using? On what operating system?
WindowXP 64bit

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 3 Jun 2011 at 9:16

Cannot checkout the latest source via the svn command given.

What steps will reproduce the problem?
1. Using TortoiseSVN 1.16.16 64 bit
2.
3.

What is the expected output? What do you see instead?
Command: Checkout from http://oglsuperbible5.googlecode.com/svn/trunk/ 
oglsuperbible5-read-only, revision HEAD, Fully recursive, Externals included  
Error: URL   
Error: 
'http://oglsuperbible5.googlecode.com/svn/trunk/%20oglsuperbible5-read-only'   
Error: doesn't exist  
Finished!:   


What version of the product are you using? On what operating system?
Using TortoiseSVN 1.16.16 64 bit on Windows 7 Ultimate x64.

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 26 Sep 2011 at 5:16

Chaper 5 SphereWorld gives a black screen (Linux x64)

What steps will reproduce the problem?
1. Compile SphereWorld on Linux x64
2. Run it.
3. Notice there is no world of spheres

What is the expected output? What do you see instead?
Expected: SphereWorld as shown in the book. Instead: a black screen

What version of the product are you using? On what operating system?
Linux arch 2.6.35-ARCH x86_64 GenuineIntel GNU/Linux
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro FX 880M/PCI/SSE2
OpenGL version string: 3.3.0 NVIDIA 260.19.21
OpenGL shading language version string: 3.30 NVIDIA via Cg compiler

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 25 Nov 2010 at 11:37

Chap 2 - Triangles - GLBatch has to be initialized twice?

What steps will reproduce the problem?
1. Compile & run the code from Chapter 2 in either VS 2008 or 2010

What is the expected output? What do you see instead?
Expected Output: Blue background with red triangle.
What I see: Blue background


What version of the product are you using? On what operating system?
I've used GLtools and freeglut_static straight from SVN, Revision #193. Windows 
7 64-bit SP1

Please provide any additional information below.
No compiler warnings or errors, everything is linked up just as the book says. 
In order for the code to work, I have to declare the following three lines 
twice consecutively:

triangleBatch.Begin(GL_TRIANGLES, 3);
triangleBatch.CopyVertexData3f(vVerts);
triangleBatch.End();

How do I get his to work without having to declare my triangles twice?
Source attached.

Original issue reported on code.google.com by [email protected] on 27 Aug 2011 at 9:07

Attachments:

Case sensitivity on Linux

What steps will reproduce the problem?
1. Build the chapter 7 PointSprites example on Linux
2. Run the example

What is the expected output? What do you see instead?
You get a black screen instead of a field of stars

What version of the product are you using? On what operating system?
Ubuntu 10.10

Please provide any additional information below.
The problem is the source code references 'Star.tga', while the actual filename 
is 'star.tga', causing the loading of the file to fail.


Original issue reported on code.google.com by [email protected] on 1 Dec 2010 at 9:49

Segfault in Perspective example on Linux

What steps will reproduce the problem?
1. cd into Linux/Chapter11/Perspective
2. run make
3. run ./Perspective

It issues a segmentation fault.

What is the expected output? What do you see instead?

Just the segfault above.

What version of the product are you using? On what operating system?

svn co for non-registered members checked out Dec. 30, 2010.

Ubuntu (kubuntu variant) Linux, gcc 4.4.5, nvidia binary driver 260.19.06 on 
X.org 1.9, GLX ver. 1.4, OGL 3.3.

Please provide any additional information below.

Not sure what else to add.

Original issue reported on code.google.com by [email protected] on 31 Dec 2010 at 4:25

The chapter 12 flocking example does not work

I tried to run the flocking example but it displays a blank screen. I tried to 
see if the opengl pipeline is fine however, calling gltCheckErrors in the 
render loop tells me that there is an error. 

Original issue reported on code.google.com by [email protected] on 8 Jan 2011 at 10:04

Torus fails to display in sphere world 2,3 and 4

What steps will reproduce the problem?
1. run any of those 3 demos on my laptop

What is the expected output? What do you see instead?
I expect to see a torus in the middle. I see no torus in the middle.

What version of the product are you using? On what operating system?
SVN revision 192. Ubuntu 11.04 "Natty" prerelease. My graphics card is an ATI 
Radeon 4225.

Please provide any additional information below.
If I swap the order that the sphere and torus are assigned, the torus displays. 
The original code is (There seems to be a mix of spaces and tabs used for 
indentation):
    // This makes a torus
    gltMakeTorus(torusBatch, 0.4f, 0.15f, 30, 30);

    // This make a sphere
    gltMakeSphere(sphereBatch, 0.1f, 26, 13);

The code that works for me is:
    // This make a sphere
    gltMakeSphere(sphereBatch, 0.1f, 26, 13);

    // This makes a torus
    gltMakeTorus(torusBatch, 0.4f, 0.15f, 30, 30);

I don't know if this is a problem with oglsuperbible, or a problem with my 
graphics card drivers. If the consensus is driver problems, I will report it 
elsewhere.

Original issue reported on code.google.com by [email protected] on 12 Apr 2011 at 3:45

OpenGL Superbible coupon visible in Amazon preview

What steps will reproduce the problem?
1. Go to amazon.com
2. Look at the preview of the OpenGL Superbible and see the coupon
3. Give me a free physical book for pointing this out :)

What is the expected output? What do you see instead?
Not to see the coupon. I see the coupon.

What version of the product are you using? On what operating system?
I use amazon.com on Windows Vista in any browser.

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 10 Aug 2010 at 8:23

vLocation on page 168 should be vOrigin

What steps will reproduce the problem?
1. This is not a code problem... its a typo in the book.
2. Using eyes and seeing the text on page 168.
3. I probably have too much time on my hands to be reporting this issue.

What is the expected output? What do you see instead?
The variable name should be vOrigin and not vLocation. Its correct in the code.

What version of the product are you using? On what operating system?
OGL SB 5th print edition.

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 12 Sep 2012 at 5:43

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.