Thread with 4 posts
jump to expanded postyou know, itโs a shame that C is designed by ISO/IEC JTC1/SC22/WG14 and not the OpenGL Architecture Review Board. iโm sure weโd all rather write:
glDisable(GL_MASKING);
glEnableClientState(GL_SOURCE_DATA_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glSourceDataPointer(1, gl::UNSIGNED_BYTE, 1, dst_ptr);
glEnableClientState(GL_DESTINATION_DATA_ARRAY);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glDestinationDataPointer(1, gl::UNSIGNED_BYTE, 1, src_ptr);
glCopyBytes(0, num_bytes);
if (glGetError() != 0) {
// fuck
}
rather than
memcpy(dst_ptr, src_ptr, size);
โclient state? in 2023?โ i hear you cry. ok ok. surely what we want to do then is
glDisable(GL_MASKING);
glEnableSourceDataArray();
glBindBuffer(GL_ARRAY_BUFFER, src_buf);
glSourceDataPointer(1, gl::UNSIGNED_BYTE, 1, (const GLvoid*)(uintptr_t)src_offset);
glEnableDestinationDataArray();
glBindBuffer(GL_ARRAY_BUFFER, dst_buf);
glDestinationDataPointer(1, gl::UNSIGNED_BYTE, 1, (const GLvoid*)(uintptr_t)dst_offset);
glCopyBytes(0, num_bytes);
if (glGetError() != 0) {
// fuck
}
i should really not find more ways to procrastinate from writing very tedious real opengl code, butโฆ i am extremely tempted to write a strings library for c that uses the same api conventions as opengl, as a joke
ah oops, s/gl::/GL_/, Iโve been writing too much Rust