Jump to content

  • Log In with Google      Sign In   
  • Create Account


Astado89

Member Since 22 Mar 2013
Offline Last Active Oct 03 2013 12:56 PM

Topics I've Started

Drawing text in interface that gets clipped at the end of the interfacewindow

02 October 2013 - 12:31 PM

Hi everyone,

 

i am currently facing some issues drawing a text in my interface.

The drawing itself is working so far with the following code:

NSRect backingBounds = [self convertRectToBacking:[self bounds]];
    GLsizei backingPixelWidth  = (GLsizei)(backingBounds.size.width),
    backingPixelHeight = (GLsizei)(backingBounds.size.height);
    glViewport(0, 0, backingPixelWidth, backingPixelHeight); //set viewport to complete screen
    glClearColor(1, 1, 1, 1);
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0, 0, 1);
    glBegin(GL_QUADS);  //draw simple quad half the size of the screen
    glVertex2d(-0.5, 0.5);
    glVertex2d(0.5, 0.5);
    glVertex2d(0.5, -0.5);
    glVertex2d(-0.5, -0.5);
    glEnd();
    
    glPushMatrix();
    glLoadIdentity();
    glViewport(0, 0, 100, 100); //set viewport to small part of the screen
    glColor3f(0, 1, 0);
    glBegin(GL_QUADS);  //draw next rect
    glVertex2d(-1, 1);  //just for indication of the next viewport
    glVertex2d(1, 1);   // to see where the text is drawn
    glVertex2d(1, -1);
    glVertex2d(-1, -1);
    glEnd();
    
    glColor3f(1, 0, 0);
    glOrtho(0, 100, 0, 100, -1.0, 1.0); //set the ortho for the viewport
    glRasterPos2d(10, 10);
    const char *_string = "das ist ein Test";
    void* _fonttype = GLUT_BITMAP_TIMES_ROMAN_24;
    
    if (*_string && strlen(_string)) {
        while (*_string) {
            glutBitmapCharacter(_fonttype, *_string); //draw character
            _string++;
        }
    }
    glPopMatrix();

but the text is drawn when it reaches the viewports end.

 

I want the text to be clipped when it reaches the end of the viewport or what ever possibility.

The main reason is I want to make a tableview that shows content of my game.

Some of the content is too big (like texts) and each column will be resized to fit.

But then the tableview might be too big for my interfacewindow.

So I want to implement scrolling.

So each column as it enters the window when scrolling should show its text but the text should cut of at the end

of the window and when scrolled out of the window.

For example the text is "Hallo World" and it is scrolled in the H is to be shown and the rest clipped.

When is is scrolled out of the screen the H disappears.

I hope that I described it so you can understand my issue smile.png

 

Does anyone have any ideas of how i would do that?

 

 

Thanks a lot for reading my post.

 

 

 


Error freeing allocated memory

22 June 2013 - 12:58 PM

Hi everyone,
 
my question is a c++ based topic, but I'm using Cocoa and Xcode.
 
I'm allocating sone buffers to send files over the network.
When i read the network-input into the buffer i process it in another object called Controller.
after that i want to release(free) the buffer in order not to get any memory leaks.
But here's my problem the program crashes and says:
 

Game(3984,0x103481000) malloc: *** error for object 0x102009600: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
but why? Here's the code:
 
So this is the code of my Network-Controller which gets the input as follows:
int n = 0;
    char *buffer = malloc(2049*sizeof(char));
    while ( (n = (int)read( sockfd, buffer, 2048)) ) {
        buffer[n] = '0';
        [cont networkinput:buffer length:n];
        free(buffer); Error!!!
    }
    connected = NO;
[cont networkinput:buffer length:n];
sends the buffer to the Controller and the class processes it.
 
 
but why not allocated? I used malloc.
 
Can anyone help me? If I take out the freeing my memory must be increased to 1000GB 
 
Thanks a lot

Texture Mapping on Mac OS X doesn't work

27 May 2013 - 03:07 PM

Hi together,

 

I am currently facing an issue running my OpenGL App.

 

First i startet to use the GLUT functions to create my rendering Context (Window).

Inside the App I initialized textures using glGenTexture and glTexImage2D and so on.

 

Now I switched to NSOpenGLView and NSOpenGLPixelFormat.

I copied the whole Code that worked fine for me in my GLUT App but I am getting a white window.

 

When I take out my rendering and just clear the Color_Buffer to yellow I get a yellow window (as expected).

 

Even if I only draw on the right half of the screen it comes up white on the whole screen.

 

Now to my implementation :)

 

Inside the NSOpenglView drawrect function i call:

 

    [[self openGLContext] clearDrawable];
    [[self openGLContext] setView:self];
    [[self openGLContext] makeCurrentContext];
    
    NSRect backingBounds = [self convertRectToBacking:[self bounds]];
    
    GLsizei backingPixelWidth  = (GLsizei)(backingBounds.size.width),
    backingPixelHeight = (GLsizei)(backingBounds.size.height);
    
    glViewport(0, 0, backingPixelWidth, backingPixelHeight);
    glEnable(GL_TEXTURE_2D);
    glClearColor(1, 1, 0, 0);
    glClear(GL_COLOR_BUFFER_BIT);
    [interface draw];
    
    [[self openGLContext] flushBuffer];
    [NSOpenGLContext clearCurrentContext];

 

I create a normal window with an OpenGLContext.

Do I have to initiate my OpenGL Stuff anywhere special? Stuff like glEnable(GL_Texture_2D) ?

I hope someone of you already had this issue.

 

I appreciate any help :)


OpenGL mouse handling

22 March 2013 - 10:21 AM

Hi together,

 

sorry if I made the topic wrong, but I'm new to this forum.

 

I'm currently writing on a little game which is supposed to be a third person game.

So I created a camera to rotate around the character.

So good so far. My issue is that the mouse reaches the corners of my display and the camera stops rotating.

 

I tried working with glutwarppointer to warp my pointer back to the center of the screen.

But it triggers my camera to rotate back, because the glutpassivemousefunc is called.

 

I tried using a BOOL to keed the camera moving just when its false and tried

 

mouselock = true;

glutwarppointer(windowwidth/2, window height/2);

mouselock = false;

 

but it still triggers the camera.

 does anyone got any ideas?

 

Just so you know I'm working with Mac OS X Mountainlion and Xcode.

 

Any help is very much appreceated.


PARTNERS