Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 932127
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T20:36:52+00:00 2026-05-15T20:36:52+00:00

I have a struct called Point (which happens to be a Python Extension) that

  • 0

I have a struct called Point (which happens to be a Python Extension) that looks like this:

struct Point {
    PyObject_HEAD    // Macro that expands to include a few more members
    double x;
    double y;
};

And I have another struct that will hold a bunch of these in two arrays:

struct Polygon {
    int length;
    Point **vertex_points;
    Point **texcrd_points;
}

I want to use these to map both the Vertices and Texture Coordinates of a Polygon with Vertex Arrays. The problem is that Vertex Arrays expect arrays in the format:

[x, y, x, y, x, y, etc]

Is there a way I can call glVertexPointer and glTexCoordPointer with Polygon->vertex_points and Polygon->texcrd_points, or do I have to construct new arrays that match what gl*Pointer is expecting?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T20:36:53+00:00Added an answer on May 15, 2026 at 8:36 pm

    You can call glVertexPointer with the base of your vertex array, and glTexCoordPointer with the base of the texture coords array. As long as the number of things in those arrays line up to the right (same) number of verts, this should work fine.

    OpenGL can’t access members of the structure explicitly. The members will be laid out in memory next to eachother (see caveat below). If multiple Point structures are in a series in memory, effectively you have a big flat list of doubles. OpenGL doesn’t know about structures, it just wants one big list of (double in this case) values. But you can build a series of Points and hand OpenGL a pointer to the first one, and if the layout in memory isn’t wrong or padded, they’ll be equivalent.

    If you’re too new to C to have this conceptually under your belt (along with the memory layout caveats), then you should just copy all the doubles into a new array before calling GL.

    I do question a couple things: maybe there’s missing code here, but having Point** instead of Point* looks fishy, since glVertexPointer etc will expect a flat array of values here. By the same token, although it’s probably aligned fine already, in theory an array of those structs might not be flush-packed together in memory. You can do this explicitly depending on your compiler, or you can play with the stride param in the GL calls to be explicit about the distance in memory between each vert.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a struct called Point. Point is pretty simple: struct Point { Row
I have a struct called coordinate which is contained in a list in another
I have a struct array called AnalysisResults , that may contain any MATLAB datatypes,
I have a struct that has a field called type How do i access
Ok so I have struct like this typedef struct { float x; float y;
I have a file called points.dat which reads something like: 5 2 5 -1
I have a struct called Point typedef struct { GLfloat x; GLfloat y; }
I am trying to model a network using C++. I have a struct called
I have a struct as follows, with a pointer to a function called length
I have a pointer to a struct. I call a routine that determines whether

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.